This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 09c9b86789eacc1f52adeb4431fe6f3b2f758b48 (commit) from 9c27521d161967433748e5d563a751bd89075285 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/09c9b86789eacc1f52adeb4431fe6f3b2f... commit 09c9b86789eacc1f52adeb4431fe6f3b2f758b48 Author: Su Huang <[email protected]> Date: Thu Jul 17 15:56:28 2014 -0400 Non-blocking collectives have no validity check for count Added the check on count and datatype on the following functions: - MPI_Iallreduce - MPI_Ialltoall - MPI_Ibcast - MPI_Igather - MPI_Ireduce - MPI_Iscan (ibm) D198793 Fixes #2139 Signed-off-by: Michael Blocksome <[email protected]> Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/coll/iallreduce.c b/src/mpi/coll/iallreduce.c index 4edfeda..e2b2e8b 100644 --- a/src/mpi/coll/iallreduce.c +++ b/src/mpi/coll/iallreduce.c @@ -732,6 +732,7 @@ int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPID_BEGIN_ERROR_CHECKS { MPIR_ERRTEST_DATATYPE(datatype, "datatype", mpi_errno); + MPIR_ERRTEST_COUNT(count, mpi_errno); MPIR_ERRTEST_OP(op, mpi_errno); MPIR_ERRTEST_COMM(comm, mpi_errno); diff --git a/src/mpi/coll/ialltoall.c b/src/mpi/coll/ialltoall.c index f83e716..a8ef91c 100644 --- a/src/mpi/coll/ialltoall.c +++ b/src/mpi/coll/ialltoall.c @@ -604,8 +604,11 @@ int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, { MPID_BEGIN_ERROR_CHECKS { - if (sendbuf != MPI_IN_PLACE) + if (sendbuf != MPI_IN_PLACE) { + MPIR_ERRTEST_COUNT(sendcount, mpi_errno); MPIR_ERRTEST_DATATYPE(sendtype, "sendtype", mpi_errno); + } + MPIR_ERRTEST_COUNT(recvcount, mpi_errno); MPIR_ERRTEST_DATATYPE(recvtype, "recvtype", mpi_errno); MPIR_ERRTEST_COMM(comm, mpi_errno); diff --git a/src/mpi/coll/ibcast.c b/src/mpi/coll/ibcast.c index 557dc20..812cfd1 100644 --- a/src/mpi/coll/ibcast.c +++ b/src/mpi/coll/ibcast.c @@ -941,6 +941,7 @@ int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Com MPID_BEGIN_ERROR_CHECKS { MPIR_ERRTEST_DATATYPE(datatype, "datatype", mpi_errno); + MPIR_ERRTEST_COUNT(count, mpi_errno); MPIR_ERRTEST_COMM(comm, mpi_errno); /* TODO more checks may be appropriate */ diff --git a/src/mpi/coll/igather.c b/src/mpi/coll/igather.c index cc52f90..f17238c 100644 --- a/src/mpi/coll/igather.c +++ b/src/mpi/coll/igather.c @@ -602,6 +602,12 @@ int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, MPID_BEGIN_ERROR_CHECKS { MPIR_ERRTEST_COMM(comm, mpi_errno); + if (sendbuf != MPI_IN_PLACE) { + MPIR_ERRTEST_COUNT(sendcount, mpi_errno); + MPIR_ERRTEST_DATATYPE(sendtype, "sendtype", mpi_errno); + } + MPIR_ERRTEST_COUNT(recvcount, mpi_errno); + MPIR_ERRTEST_DATATYPE(recvtype, "recvtype", mpi_errno); /* TODO more checks may be appropriate */ } diff --git a/src/mpi/coll/ireduce.c b/src/mpi/coll/ireduce.c index c9b0308..5f31903 100644 --- a/src/mpi/coll/ireduce.c +++ b/src/mpi/coll/ireduce.c @@ -848,6 +848,7 @@ int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype data { MPID_BEGIN_ERROR_CHECKS { + MPIR_ERRTEST_COUNT(count, mpi_errno); MPIR_ERRTEST_DATATYPE(datatype, "datatype", mpi_errno); MPIR_ERRTEST_OP(op, mpi_errno); MPIR_ERRTEST_COMM(comm, mpi_errno); diff --git a/src/mpi/coll/iscan.c b/src/mpi/coll/iscan.c index 9cbea55..c8fa41e 100644 --- a/src/mpi/coll/iscan.c +++ b/src/mpi/coll/iscan.c @@ -404,6 +404,7 @@ int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype dataty MPID_BEGIN_ERROR_CHECKS { MPIR_ERRTEST_DATATYPE(datatype, "datatype", mpi_errno); + MPIR_ERRTEST_COUNT(count, mpi_errno); MPIR_ERRTEST_OP(op, mpi_errno); MPIR_ERRTEST_COMM(comm, mpi_errno); ----------------------------------------------------------------------- Summary of changes: src/mpi/coll/iallreduce.c | 1 + src/mpi/coll/ialltoall.c | 5 ++++- src/mpi/coll/ibcast.c | 1 + src/mpi/coll/igather.c | 6 ++++++ src/mpi/coll/ireduce.c | 1 + src/mpi/coll/iscan.c | 1 + 6 files changed, 14 insertions(+), 1 deletions(-) hooks/post-receive -- MPICH primary repository