[Beowulf] MPI programming question: Interleaved MPI_Gatherv?
rross at mcs.anl.gov
Thu Mar 3 12:50:24 PST 2005
Joachim Worringen wrote:
> 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.
It needs to have a negative extent to really test things. The positive
extents are easy!
More information about the Beowulf