2. The parallel loop over cells for MeshWorker is based WorkStream
which does local computations in parallel but serializes writing
into vectors or matrices. This, again, was severely impacting
performance, in particular on multicore machines.
The parallel loop is a single line in MeshWorker and if WorkStream
is not sufficient, it could have been improved. Indeed, for DG at
least, this loop can be run in parallel without any conflicts and
there the WorkStream should be replaced.
At least the cell loop can be done without conflicts, it's a bit more
complicated with the face integration.
But yes, we should make the WorkStream class smarter so that it uses the
coloring scheme Katharina and Martin have implemented to avoid the
sequential bottleneck as far as possible. Like so many things in
deal.II, I think it's not so hard to figure out how to do it in
principle, it's more that someone just has to have the time to implement
it :-(
Best
W.
------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.tamu.edu/~bangerth/
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii