[Dune] istl and multithreading

Steffen Müthing steffen.muething at iwr.uni-heidelberg.de
Mon Jun 8 16:20:50 CEST 2015


Hi Andreas,

> Am 02.06.2015 um 19:37 schrieb Andreas Dedner <a.s.dedner at warwick.ac.uk>:
> 
> Hi.
> 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?
> Thanks
> Andreas

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

Cheers,
Steffen

> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20150608/0afd8b16/attachment.sig>


More information about the Dune mailing list