Skip to content

Commit d3d6386

Browse files
committed
mpi/forran: Support MPI_IN_PLACE on (I)ALLTOALLW and (I)EXSCAN
`MPI_IN_PLACE` support for `MPI_ALLTOALLW` and `MPI_EXSCAN` was added in MPI-2.2 but it was missed in OMPI Fortran binding code.
1 parent eb5c315 commit d3d6386

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

ompi/mpi/fortran/mpif-h/alltoallw_f.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ void ompi_alltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
9898
--size;
9999
}
100100

101-
/* Alltoallw does not support MPI_IN_PLACE */
101+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
102102
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
103103
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
104104

ompi/mpi/fortran/mpif-h/exscan_f.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ void ompi_exscan_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
8080
c_type = PMPI_Type_f2c(*datatype);
8181
c_op = PMPI_Op_f2c(*op);
8282

83-
/* MPI_IN_PLACE is not supported */
83+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
8484
sendbuf = (char *) OMPI_F2C_BOTTOM (sendbuf);
8585
recvbuf = (char *) OMPI_F2C_BOTTOM (recvbuf);
8686

ompi/mpi/fortran/mpif-h/ialltoallw_f.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ void ompi_ialltoallw_f(char *sendbuf, MPI_Fint *sendcounts,
9999
--size;
100100
}
101101

102-
/* Ialltoallw does not support MPI_IN_PLACE */
102+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
103103
sendbuf = (char *) OMPI_F2C_BOTTOM(sendbuf);
104104
recvbuf = (char *) OMPI_F2C_BOTTOM(recvbuf);
105105

ompi/mpi/fortran/mpif-h/iexscan_f.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ void ompi_iexscan_f(char *sendbuf, char *recvbuf, MPI_Fint *count,
8181
c_type = PMPI_Type_f2c(*datatype);
8282
c_op = PMPI_Op_f2c(*op);
8383

84-
/* MPI_IN_PLACE is not supported */
84+
sendbuf = (char *) OMPI_F2C_IN_PLACE(sendbuf);
8585
sendbuf = (char *) OMPI_F2C_BOTTOM (sendbuf);
8686
recvbuf = (char *) OMPI_F2C_BOTTOM (recvbuf);
8787

0 commit comments

Comments
 (0)