Bug #1395

AMPI_Get_elements returns incorrect results for struct type

Added by Sam White almost 2 years ago. Updated 5 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 almost 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 almost 2 years ago

  • Priority changed from Normal to Low

#3 Updated by Phil Miller over 1 year ago

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

#4 Updated by Sam White over 1 year ago

  • Target version changed from 6.8.1 to 6.9.0

#5 Updated by Sam White over 1 year ago

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

#6 Updated by Eric Bohm 8 months ago

  • Assignee set to Sam White

#7 Updated by Sam White 6 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 5 months ago

  • Status changed from Implemented to Merged

Also available in: Atom PDF