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

Reply via email to