dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #10498
Re: Function design / Future multicore support in DOLFIN
Martin Sandve Alnæs wrote:
Are there any plans for multicore support in DOLFIN, that is
automatic utilization of multiple CPU cores without significant
user intervention, in the near future? (For example using OpenMP).
No immediate plans (message passing is the immediate priority), but
obviously this would be very nice to have and we don't want our design
to preclude it.
If yes, am I the only one who thinks it would be a good idea
to consider this in the new Function design?
You may be the only that knows enough about multi-threaded programming
to be in a position to think properly about it.
I just want to point this out since I think this issue has been too
downplayed in the design discussions. And I don't think anyone
wants yet another redesign of Function within the next months...
The main issue is that iterating over cells in a mesh and calling a
Function currently involves side effects, modifying its mutable members
cell and facet. Thus the user would have to construct multiple Function
objects for a Function to be used in basically any multicore situation.
Any solution to this must involve sending all kinds of cell data needed
as arguments to eval. Exactly how this should look is a design discussion.
So if we remove
mutable Cell* _cell
mutable int _facet
from the private member data of Function, does this resolve the biggest
design issue for running multi-threaded?
Garth
--
Martin
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev
Follow ups
References