Skip to content

intel-mpi inplace reduce fails

According to the MPI forum documentation, an MPI_IN_PLACE operation is permitted for MPI_Reduce(), which is similar to the behaviour for MPI_Allreduce(). However in practice it does not actually work:

Fatal error in PMPI_Reduce: Invalid buffer pointer, error stack:
PMPI_Reduce(505): MPI_Reduce(sbuf=MPI_IN_PLACE, rbuf=0xbc7e10, ...) failed
PMPI_Reduce(431): sendbuf cannot be MPI_IN_PLACE

The situation may improve in the future, but for now a true in-place is not possible.