pmodels / mpich

Official MPICH Repository
http://www.mpich.org
Other
550 stars 281 forks source link

MPI_IN_PLACE usage in MPI_Reduce results in collective abort #759

Closed mpichbot closed 8 years ago

mpichbot commented 8 years ago

Originally by dvg dvg@ieee.org on 2009-07-28 22:40:12 -0500



Hello,

There seems to be a problem with the below snippet:
        MPI_Reduce(MPI_IN_PLACE, &val, 1, MPI_DOUBLE,
                MPI_SUM, 0, intracomm);

At the same time, Allreduce runs without a problem:
        MPI_Allreduce(MPI_IN_PLACE, &val,
                1, MPI_DOUBLE, MPI_SUM, intracomm);

Version: mpich2 1.1.1
Gcc: 4.4.2
OS: Linux

Thank you!
Dmitry
mpichbot commented 8 years ago

Originally by dvg@ieee.org on 2009-07-28 22:40:12 -0500


This message has 0 attachment(s)

mpichbot commented 8 years ago

Originally by thakur@mcs.anl.gov on 2009-07-28 22:45:25 -0500



In MPI_Reduce, MPI_IN_PLACE can be passed only on the root. On other
processes, there is only a sendbuf; recvbuf is insignificant.

Rajeev

>  There seems to be a problem with the below snippet:
>          MPI_Reduce(MPI_IN_PLACE, &val, 1, MPI_DOUBLE,
>                  MPI_SUM, 0, intracomm);
>
>  At the same time, Allreduce runs without a problem:
>          MPI_Allreduce(MPI_IN_PLACE, &val,
>                  1, MPI_DOUBLE, MPI_SUM, intracomm);