Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] MPI programming question: Interleaved MPI_Gatherv?

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Rob Ross 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!

Rob



More information about the Beowulf mailing list