[Dune] How to implement point to point communication

Christian Engwer christian.engwer at uni-muenster.de
Wed Oct 15 20:08:57 CEST 2014


On Wed, Oct 15, 2014 at 12:53:44PM +0200, Aleksejs Fomins wrote:
> Dear Dune,
> 
> I need to implement parallel communication using Parmetis output.
> 
> I have a vector of elements on each process, and parmetis tells me to
> which process should each of these elements go. The main problem is that
> I need to communicate elements from proc A to proc B, but dune
> collectivecommunication only does A to all or all to B.
> 
> Can you please suggest an algorithm to do this?
> Which MPI routines can I use, and does Dune already wrap them?

depends on what you want to do and what constraints you have. Dune
does not wrap any further MPI methods, you'll have to use pure MPI.

You can have a look at the MPI documentation:
  http://www.mpich.org/static/docs/latest/www3/
I suggest to look for the difference ?send/?recv functions.

> I assume that this algorithm is already present somewhere, for example
> in ALUGrid load balancing. I would like to reuse it for my Metagrid

I'm still a bit puzzled why you write a new meta grid? Most of your
features are already present in geometrygrid. I suggest to extend
geometrygrid to support different geometry implementations.

Christian




More information about the Dune mailing list