Get rid of the compiler warning message when --enable-picky is used.
Do the checks according to inter/intracommunicator flags. This commit was SVN r20063.
Этот коммит содержится в:
родитель
0b83ab39e5
Коммит
d06604c258
@ -44,6 +44,7 @@ int MPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
MEMCHECKER(
|
||||
int rank;
|
||||
ptrdiff_t ext;
|
||||
|
||||
rank = ompi_comm_rank(comm);
|
||||
ompi_ddt_type_extent(recvtype, &ext);
|
||||
|
||||
@ -51,7 +52,9 @@ int MPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
memchecker_comm(comm);
|
||||
/* check whether the actual send buffer is defined. */
|
||||
if (MPI_IN_PLACE == sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined, recvbuf+rank*ext, recvcount, recvtype);
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
(char *)(recvbuf)+rank*ext,
|
||||
recvcount, recvtype);
|
||||
} else {
|
||||
memchecker_datatype(sendtype);
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
|
@ -53,14 +53,14 @@ int MPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
/* check whether the receive buffer is addressable. */
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isaddressable,
|
||||
recvbuf+displs[i]*ext,
|
||||
(char *)(recvbuf)+displs[i]*ext,
|
||||
recvcounts[i], recvtype);
|
||||
}
|
||||
|
||||
/* check whether the actual send buffer is defined. */
|
||||
if (MPI_IN_PLACE == sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
recvbuf+displs[rank]*ext,
|
||||
(char *)(recvbuf)+displs[rank]*ext,
|
||||
recvcounts[rank], recvtype);
|
||||
} else {
|
||||
memchecker_datatype(sendtype);
|
||||
|
@ -57,11 +57,11 @@ int MPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls,
|
||||
for ( i = 0; i < size; i++ ) {
|
||||
/* check if send chunks are defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
sendbuf+sdispls[i]*send_ext,
|
||||
(char *)(sendbuf)+sdispls[i]*send_ext,
|
||||
sendcounts[i], sendtype);
|
||||
/* check if receive chunks are addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable,
|
||||
recvbuf+rdispls[i]*recv_ext,
|
||||
(char *)(recvbuf)+rdispls[i]*recv_ext,
|
||||
recvcounts[i], recvtype);
|
||||
}
|
||||
);
|
||||
|
@ -57,13 +57,11 @@ int MPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls,
|
||||
ompi_ddt_type_extent(recvtypes[i], &recv_ext);
|
||||
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
sendbuf+sdispls[i]*send_ext,
|
||||
sendcounts[i],
|
||||
sendtypes[i]);
|
||||
(char *)(sendbuf)+sdispls[i]*send_ext,
|
||||
sendcounts[i], sendtypes[i]);
|
||||
memchecker_call(&opal_memchecker_base_isaddressable,
|
||||
recvbuf+sdispls[i]*recv_ext,
|
||||
recvcounts[i],
|
||||
recvtypes[i]);
|
||||
(char *)(recvbuf)+sdispls[i]*recv_ext,
|
||||
recvcounts[i], recvtypes[i]);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -41,13 +41,21 @@ int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
|
||||
MEMCHECKER(
|
||||
memchecker_datatype(datatype);
|
||||
memchecker_comm(comm);
|
||||
if( ompi_comm_rank(comm) == root || MPI_ROOT == root ) {
|
||||
/* check whether root's send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, buffer, count, datatype);
|
||||
}
|
||||
if( MPI_PROC_NULL != root ) {
|
||||
if (OMPI_COMM_IS_INTRA(comm)) {
|
||||
if (ompi_comm_rank(comm) == root) {
|
||||
/* check whether root's send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, buffer, count, datatype);
|
||||
}
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, buffer, count, datatype);
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, buffer, count, datatype);
|
||||
} else {
|
||||
if (MPI_ROOT == root) {
|
||||
/* check whether root's send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, buffer, count, datatype);
|
||||
} else if (MPI_PROC_NULL != root) {
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, buffer, count, datatype);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -45,22 +45,41 @@ int MPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
MEMCHECKER(
|
||||
int rank;
|
||||
ptrdiff_t ext;
|
||||
|
||||
rank = ompi_comm_rank(comm);
|
||||
ompi_ddt_type_extent(recvtype, &ext);
|
||||
|
||||
memchecker_comm(comm);
|
||||
if (ompi_comm_rank(comm) == root || MPI_ROOT == root) {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether root's receive buffer is addressable/defined(MPI_IN_PLACE). */
|
||||
if (MPI_IN_PLACE == sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined, recvbuf+rank*ext, recvcount, recvtype);
|
||||
if(OMPI_COMM_IS_INTRA(comm)) {
|
||||
if(ompi_comm_rank(comm) == root) {
|
||||
/* check whether root's send buffer is defined. */
|
||||
if (MPI_IN_PLACE == sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
(char *)(recvbuf)+rank*ext,
|
||||
recvcount, recvtype);
|
||||
} else {
|
||||
memchecker_datatype(sendtype);
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether root's receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
} else {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether send buffer is defined on other processes. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
} else {
|
||||
if (MPI_ROOT == root) {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether root's receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
} else if (MPI_PROC_NULL != root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
/* check whether the send buffer is defined. */
|
||||
if (MPI_PROC_NULL != root && MPI_IN_PLACE != sendbuf) {
|
||||
memchecker_datatype(sendtype);
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -49,26 +49,47 @@ int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
ompi_ddt_type_extent(recvtype, &ext);
|
||||
|
||||
memchecker_comm(comm);
|
||||
if (ompi_comm_rank(comm) == root || MPI_ROOT == root) {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether each receive buffer is addressable/defined(MPI_IN_PLACE). */
|
||||
if(MPI_IN_PLACE == sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
recvbuf+displs[rank]*ext,
|
||||
recvcounts[rank], recvtype );
|
||||
if(OMPI_COMM_IS_INTRA(comm)) {
|
||||
if(ompi_comm_rank(comm) == root) {
|
||||
/* check whether root's send buffer is defined. */
|
||||
if (MPI_IN_PLACE == sendbuf) {
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
(char *)(recvbuf)+displs[i]*ext,
|
||||
recvcounts[i], recvtype);
|
||||
}
|
||||
} else {
|
||||
memchecker_datatype(sendtype);
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether root's receive buffer is addressable. */
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isaddressable,
|
||||
(char *)(recvbuf)+displs[i]*ext,
|
||||
recvcounts[i], recvtype);
|
||||
}
|
||||
} else {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether send buffer is defined on other processes. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isaddressable,
|
||||
recvbuf+displs[i]*ext,
|
||||
recvcounts[i], recvtype);
|
||||
} else {
|
||||
if (MPI_ROOT == root) {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether root's receive buffer is addressable. */
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isaddressable,
|
||||
(char *)(recvbuf)+displs[i]*ext,
|
||||
recvcounts[i], recvtype);
|
||||
}
|
||||
} else if (MPI_PROC_NULL != root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
}
|
||||
|
||||
/* check whether send buffer is defined on all processses. */
|
||||
if (MPI_PROC_NULL != root && MPI_IN_PLACE != sendbuf ) {
|
||||
memchecker_datatype(sendtype);
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
);
|
||||
|
||||
if (MPI_PARAM_CHECK) {
|
||||
|
@ -43,19 +43,30 @@ int MPI_Reduce(void *sendbuf, void *recvbuf, int count,
|
||||
MEMCHECKER(
|
||||
memchecker_datatype(datatype);
|
||||
memchecker_comm(comm);
|
||||
|
||||
/* check whether root's receive buffer is addressable. */
|
||||
if( ompi_comm_rank(comm) == root || MPI_ROOT == root ) {
|
||||
if (MPI_IN_PLACE == sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined, recvbuf, count, datatype);
|
||||
} else {
|
||||
|
||||
if(OMPI_COMM_IS_INTRA(comm)) {
|
||||
if(ompi_comm_rank(comm) == root) {
|
||||
/* check whether root's send buffer is defined. */
|
||||
if (MPI_IN_PLACE == sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined, recvbuf, count, datatype);
|
||||
} else {
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, count, datatype);
|
||||
}
|
||||
|
||||
/* check whether root's receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, count, datatype);
|
||||
} else {
|
||||
/* check whether send buffer is defined on other processes. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, count, datatype);
|
||||
}
|
||||
} else {
|
||||
if (MPI_ROOT == root) {
|
||||
/* check whether root's receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, count, datatype);
|
||||
} else if (MPI_PROC_NULL != root) {
|
||||
/* check whether send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, count, datatype);
|
||||
}
|
||||
}
|
||||
|
||||
/* check whether send buffer is defined on all processes. */
|
||||
if (MPI_PROC_NULL != root && MPI_IN_PLACE != sendbuf) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, count, datatype);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -45,15 +45,31 @@ int MPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
||||
|
||||
MEMCHECKER(
|
||||
memchecker_comm(comm);
|
||||
if (ompi_comm_rank(comm) == root || MPI_ROOT == root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether root's send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
}
|
||||
/* check whether the receive buffer is addressable. */
|
||||
if (MPI_PROC_NULL != root && MPI_IN_PLACE != recvbuf) {
|
||||
memchecker_datatype(recvtype);
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
if(OMPI_COMM_IS_INTRA(comm)) {
|
||||
if(ompi_comm_rank(comm) == root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether root's send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
if(MPI_IN_PLACE != recvbuf) {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
} else {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
} else {
|
||||
if(MPI_ROOT == root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether root's send buffer is defined. */
|
||||
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
|
||||
} else if (MPI_PROC_NULL != root) {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -47,20 +47,39 @@ int MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
|
||||
ompi_ddt_type_extent(recvtype, &ext);
|
||||
|
||||
memchecker_comm(comm);
|
||||
if (ompi_comm_rank(comm) == root || MPI_ROOT == root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check each send buffer, whether they are defined. */
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
sendbuf+displs[i]*ext,
|
||||
sendcounts[i], sendtype);
|
||||
if(OMPI_COMM_IS_INTRA(comm)) {
|
||||
if(ompi_comm_rank(comm) == root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether root's send buffer is defined. */
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
(char *)(sendbuf)+displs[i]*ext,
|
||||
sendcounts[i], sendtype);
|
||||
}
|
||||
if(MPI_IN_PLACE != recvbuf) {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
} else {
|
||||
memchecker_datatype(recvtype);
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
} else {
|
||||
if(MPI_ROOT == root) {
|
||||
memchecker_datatype(sendtype);
|
||||
/* check whether root's send buffer is defined. */
|
||||
for (i = 0; i < size; i++) {
|
||||
memchecker_call(&opal_memchecker_base_isdefined,
|
||||
(char *)(sendbuf)+displs[i]*ext,
|
||||
sendcounts[i], sendtype);
|
||||
}
|
||||
} else if (MPI_PROC_NULL != root) {
|
||||
/* check whether receive buffer is addressable. */
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
}
|
||||
/* check whether the receive buffer is addressable */
|
||||
if (MPI_PROC_NULL != root && MPI_IN_PLACE != recvbuf) {
|
||||
memchecker_datatype(recvtype);
|
||||
memchecker_call(&opal_memchecker_base_isaddressable, recvbuf, recvcount, recvtype);
|
||||
}
|
||||
);
|
||||
|
||||
if (MPI_PARAM_CHECK) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user