Project

General

Profile

Bug #1639

AMPI MPI_IN_PLACE support is broken

Added by Sam White 3 months ago. Updated about 2 months ago.

Status:
Merged
Priority:
High
Assignee:
Category:
AMPI
Target version:
Start date:
07/20/2017
Due date:
% Done:

0%


Description

The MPI standard says that when MPI_IN_PLACE is passed as the sendbuf, the corresponding sendtype and sendcount (and sdispls, if applicable) arguments are also meaningless and the recv ones should be used. AMPI only updates the sendbuf and not anything else, and we fail on a lot of the mpich-3.2 tests because of it.

History

#1 Updated by Sam White 3 months ago

3 things to be careful of when handling MPI_IN_PLACE:
- error checking of send{buf,type,count} has to be aware of MPI_IN_PLACE
- using DDT extent vs size because displs are in terms of recvtypes and recvcounts when using MPI_IN_PLACE
- Gather(v) and Alltoall(v,w) need special care
- MPI_COMM_SELF handling, we treat this as a special case in collectives and call copyDatatype() with send stuff

#2 Updated by Sam White 3 months ago

  • Priority changed from Normal to High
  • Status changed from New to In Progress

#3 Updated by Sam White 3 months ago

  • Status changed from In Progress to Implemented

#4 Updated by Sam White about 2 months ago

  • Status changed from Implemented to Merged

Also available in: Atom PDF