[Beowulf] MPI programming question: Interleaved MPI_Gatherv?

Michael Gauckler maillists at gauckler.ch
Mon Feb 28 22:44:14 PST 2005


Dear List, 

I would like to gather the data from several processes. 
Instead of the comonly used stride, I want to interleave 
the data:

Rank 0: AAAAA -> ABCDABCDABCDABCDABCD
Rank 1: BBBBB ----^---^---^---^---^
Rank 2: CCCCC -----^---^---^---^---^
Rank 3: DDDDD ------^---^---^---^---^

Since the stride of the receive type is indicated 
in multpiles of its mpi_type, no interleaving is 
possible (the smallest striping factor leads to 
AAAAABBBBBBCCCCCDDDDD).

Is there a way to achieve this behaviour in an 
elegant way, as MPI_Gather promises it? Or do
I need to do Send/Recv with self-aligned offsets?

Thank you for your help!

 Michael




More information about the Beowulf mailing list