[Beowulf] MPI programming question: Interleaved MPI_Gatherv?

rene rene at renestorm.de
Wed Mar 2 19:05:54 PST 2005


Hi Michael,

in my opinion, this would be a gather with lenght 1 but sended 4 times.
This seems to be the easiest and slowest way.
If Im not totally wrong your interleaving looks like an Alltoall followed by a 
reduce operation, but why don't you sort the recv buffer afterwards?

Cu 
Rene

> 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
>
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit
> http://www.beowulf.org/mailman/listinfo/beowulf




More information about the Beowulf mailing list