[Beowulf] MPI programming question: Interleaved MPI_Gatherv?
Joachim Worringen
joachim at ccrl-nece.de
Thu Mar 3 08:47:23 PST 2005
William Gropp wrote:
> You should be able to do this with MPI_Gather by creating a new datatype
> on the receiving process whose extent is the size of a single item; that
> will get you the correct offset for the first element. In order to
> receive the subsequent elements into the desired location, you need to
> use a vector type containing the number of elements. And for this to be
> fast, you need an MPI implementation that will handle the "resized"
> datatype efficiently (use MPI_Type_vector to create the full datatype
> and MPI_Type_create_resized to change its effective extent). If you are
> moving large amounts of data, separate send/recvs are probably a better
> choice.
Oh yes, I forgot, twiddling with LB and UB. I never liked this, esp. as
an MPI implementor. Not especially 'elegant', but it should work. Good
conformance test, BTW.
Joachim
--
Joachim Worringen - NEC C&C research lab St.Augustin
fon +49-2241-9252.20 - fax .99 - http://www.ccrl-nece.de
More information about the Beowulf
mailing list