Bug #1395

AMPI_Get_elements returns incorrect results for struct type

Added by Sam White over 2 years ago. Updated 11 months ago.

Target version:
Start date:
Due date:
% Done:



test/ampi/mpich-tests/pt2pt/getelm fails with "Wrong number of elements for struct recv; got 1001 expected 24".

This routine may be broken for other derived datatypes as well. Or the test itself could be deficient (less likely).


#1 Updated by Sam White over 2 years ago

Low priority until we have a concrete use case other than mpich-tests.

The basic issue is that the MPI standard allows recv'ing partial derived datatypes. Currently, AMPI assumes that the message is N consecutive copies of some datatype, where N >= 1 or N = 0. To fully support MPI_Get_elements, we need to have DDT support for deserializing a maximum of X bytes, where X is the length of the message. This way DDT will stop deserializing as soon as it hits the end of the message, regardless of whether it has reached the end what its type's size is.

#2 Updated by Sam White over 2 years ago

  • Priority changed from Normal to Low

#3 Updated by Phil Miller about 2 years ago

Matt, heads up about this, since you're working in this space.

#4 Updated by Sam White almost 2 years ago

  • Target version changed from 6.8.1 to 6.9.0

#5 Updated by Sam White almost 2 years ago

  • Assignee deleted (Edward Hutter)
  • Target version deleted (6.9.0)

#6 Updated by Eric Bohm about 1 year ago

  • Assignee set to Sam White

#7 Updated by Sam White 12 months ago

  • Target version set to 6.9.0
  • Priority changed from Low to Normal
  • Assignee changed from Sam White to Shane Neary
  • Status changed from New to Implemented

#8 Updated by Sam White 11 months ago

  • Status changed from Implemented to Merged

Also available in: Atom PDF