[Dune] istl and multithreading
steffen.muething at iwr.uni-heidelberg.de
Mon Jun 8 16:20:50 CEST 2015
> Am 02.06.2015 um 19:37 schrieb Andreas Dedner <a.s.dedner at warwick.ac.uk>:
> I saw somewhere that there was some work (planned) on making use of threads in dune-istl. Is there something available in that direction? I also saw that there is a version of superlu with threading support. Has anyone ever tried to use that with the istl bindings?
as already mentioned by others, EXA-Dune contains multi-threaded vectors and matrices and some simple preconditioners
(but nothing beyond block Jacobi right now).
The code is based on a completely different matrix format called SELL-C-sigma (and a block-based extension called BELL-C-sigma
which is better suited for DG discretizations or stuff like multi-component ADR, where you want to exploit the local block structure).
As Jö said, the threading is based on TBB, and the actual kernels are implemented in dune-common, which also contains utilities to
guarantee required alignment etc., as the kernels are SIMD-aware.
Another key difference lies in the fact that the block size of the vectors and matrices has become a run time parameter. We were able
to do that because that loop bound was moved to an outer, less performance-critical loop.
Finally, there are GPU-based versions of the kernels and data structures, but currently no support for doing assembly on the GPU, of
> Dune mailing list
> Dune at dune-project.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
More information about the Dune