LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Michael Gauckler (maillists_at_[hidden])
Date: 2005-02-28 16:55:21


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