[mpich-discuss] MPI_Accumulate with MAXLOC does not error for incompatible types

Dave Goodell goodell at mcs.anl.gov
Mon Jan 14 18:39:40 CST 2013


Fixed by http://git.mpich.org/mpich.git/commitdiff/ba2e444

It looks like I accidentally put the wrong URL into the commit message for some reason.  The correct mailing list URL should be: http://lists.mpich.org/pipermail/discuss/2013-January/000227.html

-Dave

On Jan 1, 2013, at 1:09 PM CST, Jed Brown wrote:

> With MPI_Reduce, we get a nice helpful error message:
> 
> Fatal error in PMPI_Reduce: Invalid MPI_Op, error stack:
> PMPI_Reduce(1217)...........: MPI_Reduce(sbuf=0x7fff3e39fa50, rbuf=0x7fff3e39fa40, count=1, dtype=USER<contig>, MPI_MAXLOC, root=0, MPI_COMM_WORLD) failed
> MPIR_MAXLOC_check_dtype(151): MPI_Op MPI_MAXLOC operation not defined for this datatype 
> 
> 
> With MPI_Accumulate, we just get wrong results. See attached code using a user-defined contiguous results.
> 
> I care about this because I'm stuck [1] dispatching into alternative mechanisms for type combinations that are not directly supported by MPI (e.g., struct {int u; long long k;} and __float128). I missed a spot and had a confusing bug that I think MPICH should be catching.
> 
> 
> [1] As usual, the crud would evaporate if only MPI_Accumulate were extensible over datatypes.
> <maxloc.c>_______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss




More information about the discuss mailing list