[Dune] istl and multithreading

Andreas Dedner a.s.dedner at warwick.ac.uk
Mon Jun 8 17:35:29 CEST 2015


Thanks everyone for the info.
Andreas

On 08/06/15 15:20, Steffen Müthing wrote:
> 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





More information about the Dune mailing list