AMPI_Get_elements returns incorrect results for struct type
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.
- 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