Dear Katharina,

I can address your points at least in part.

> 1. The MeshWorker is centered around the usage of FEValuesBase objects for 
> all local evaluations. While this is very general (all of the deal.II 
> assembly code gets channeled through it), it turned out to be too slow for 
> our purposes: When you only assemble vectors like in a matrix-free approach, 
> FEValues eats just too much time.

This is not correct, since IntegrationInfo is a template argument to
the MeshWorker loop. After settling in Heidelberg, I will provide you
with a VectorInfo class (only a few dozen lines), which only extracts
local degrees of freedom and thus is probably what you need. A student
of mine has implemented matrix free grid transfer for DG using it and
it works quite well.

> 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.

> 3. The looping in deal.II is based on the topology of the mesh. Again, this 
> does not really fit well with parallel algorithms where one wants to use 
> vectorization which processes several cells with a single CPU instruction.

I guess this would fit in with the previous point. I implemented the
parallelization just at hoc and without too much optimization, since I
do not have support for this work. Any suggestions for improvements
would be most welcome.

> In order to be able to support DG, it might be advantageous to integrate the 
> MeshWorker. However, one would at least need to find a way to implement the 
> caching of the face data efficiently.

I am very interested in this functionality, also in multilevel
context. Maybe we can try to start working on it in Heidelberg this
summer. Are you planning to attend the workshop?

Best,
Guido
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to