[Dune-devel] SOCIS 2014: FEM assembly with threads

Agnese, Marco m.agnese13 at imperial.ac.uk
Thu Jul 3 14:14:03 CEST 2014


I answer here because I haven't received any e-mail from the mailing-list and I don't know how to answer to a certain thread without having the e-mail.

Dear Jö,
I didn't know that the algorithm proposed by me was a well known method called coloring but thank you for the hint. I took a look in literature and seems very simple to implement a greedy approach to find a sub-optimal minimum set of colors for a connected component. 

Dear Markus,
I know that I abuse a little of the terms shared and global. Next time I will try to be more precise to avoid confusion.
Thank you for the feedback. Therefore I won't implement the coloring algorithm. 

I am working, as suggested by you, at modify the assemble process :

>1. modify your assembly routine such that each thread sets up local
>  matrix and a local vector with some overlap.
>
>   What I mean by this is the following. Partition the unknows between
>   the threads (the owner region). Then augment the partition by
>   adding all unknowns to the set that are connected by a non-zero
>  entry of the global matrix to an unknown already in the initial
>   partition. The added unknowns form the overlap/copy part of the thread.
> 2. Create the corresponding parallel index sets.
> 3. Perform a parallel matrix vector product using
>  OverlappingSchwarzOperator.   

As soon as I have some update I will post here. For what concern the documentation, this weekend I will try to post on the blog about the fem example and I will report on it every design choosen.

Best,
Marco.



More information about the Dune-devel mailing list