[mpich] MPICH primary repository branch, master, updated. v3.2-22-gb20e825
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 b20e8255c86502b5baf4881c8bddde16f8a2011c (commit) from 92ec188ec6af7b875e29370e1d76b1199877cd95 (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/b20e8255c86502b5baf4881c8bddde16f8... commit b20e8255c86502b5baf4881c8bddde16f8a2011c Author: Charles J Archer <[email protected]> Date: Mon Nov 9 16:32:30 2015 -0800 test/mpi/rma: use lower bound for window calculations * Several tests are failing when the window bounds are checked. The RMA's on datatypes with lower bounds may write past the end of the window. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/test/mpi/rma/accfence1.c b/test/mpi/rma/accfence1.c index 1b1a40b..f4b8930 100644 --- a/test/mpi/rma/accfence1.c +++ b/test/mpi/rma/accfence1.c @@ -19,7 +19,7 @@ int main(int argc, char *argv[]) int minsize = 2, count; MPI_Comm comm; MPI_Win win; - MPI_Aint extent; + MPI_Aint extent, lb; MTestDatatype sendtype, recvtype; MTest_Init(&argc, &argv); @@ -43,7 +43,8 @@ int main(int argc, char *argv[]) recvtype.InitBuf(&recvtype); MPI_Type_extent(recvtype.datatype, &extent); - MPI_Win_create(recvtype.buf, recvtype.count * extent, + MPI_Type_lb(recvtype.datatype, &lb); + MPI_Win_create(recvtype.buf, recvtype.count * extent + lb, (int) extent, MPI_INFO_NULL, comm, &win); MPI_Win_fence(0, win); if (rank == source) { diff --git a/test/mpi/rma/accpscw1.c b/test/mpi/rma/accpscw1.c index de6e4fa..67ab3b4 100644 --- a/test/mpi/rma/accpscw1.c +++ b/test/mpi/rma/accpscw1.c @@ -19,7 +19,7 @@ int main(int argc, char *argv[]) int minsize = 2, count; MPI_Comm comm; MPI_Win win; - MPI_Aint extent; + MPI_Aint extent, lb; MPI_Group wingroup, neighbors; MTestDatatype sendtype, recvtype; @@ -44,7 +44,8 @@ int main(int argc, char *argv[]) recvtype.InitBuf(&recvtype); MPI_Type_extent(recvtype.datatype, &extent); - MPI_Win_create(recvtype.buf, recvtype.count * extent, + MPI_Type_lb(recvtype.datatype, &lb); + MPI_Win_create(recvtype.buf, recvtype.count * extent + lb, (int) extent, MPI_INFO_NULL, comm, &win); MPI_Win_get_group(win, &wingroup); if (rank == source) { diff --git a/test/mpi/rma/epochtest.c b/test/mpi/rma/epochtest.c index 69cfdcb..bd07732 100644 --- a/test/mpi/rma/epochtest.c +++ b/test/mpi/rma/epochtest.c @@ -41,7 +41,7 @@ int main(int argc, char **argv) int minsize = 2, count; MPI_Comm comm; MPI_Win win; - MPI_Aint extent; + MPI_Aint extent,lb; MTestDatatype sendtype, recvtype; int onlyInt = 0; @@ -71,7 +71,8 @@ int main(int argc, char **argv) recvtype.InitBuf(&recvtype); MPI_Type_extent(recvtype.datatype, &extent); - MPI_Win_create(recvtype.buf, recvtype.count * extent, + MPI_Type_lb(recvtype.datatype, &lb); + MPI_Win_create(recvtype.buf, recvtype.count * extent + lb, extent, MPI_INFO_NULL, comm, &win); /* To improve reporting of problems about operations, we * change the error handler to errors return */ diff --git a/test/mpi/rma/getfence1.c b/test/mpi/rma/getfence1.c index 342ba67..d8aa9d9 100644 --- a/test/mpi/rma/getfence1.c +++ b/test/mpi/rma/getfence1.c @@ -22,7 +22,7 @@ static inline int test(MPI_Comm comm, int rank, int source, int dest, { int errs = 0, err; int disp_unit; - MPI_Aint extent; + MPI_Aint extent, lb; MPI_Win win; MTestPrintfMsg(1, @@ -37,8 +37,9 @@ static inline int test(MPI_Comm comm, int rank, int source, int dest, sendtype->printErrors = 1; MPI_Type_extent(sendtype->datatype, &extent); + MPI_Type_lb(sendtype->datatype, &lb); disp_unit = extent < INT_MAX ? extent : 1; - MPI_Win_create(sendtype->buf, sendtype->count * extent, disp_unit, MPI_INFO_NULL, comm, &win); + MPI_Win_create(sendtype->buf, sendtype->count * extent + lb, disp_unit, MPI_INFO_NULL, comm, &win); MPI_Win_fence(0, win); if (rank == source) { /* The source does not need to do anything besides the diff --git a/test/mpi/rma/putfence1.c b/test/mpi/rma/putfence1.c index 103ce77..3670265 100644 --- a/test/mpi/rma/putfence1.c +++ b/test/mpi/rma/putfence1.c @@ -21,7 +21,7 @@ static inline int test(MPI_Comm comm, int rank, int source, int dest, MTestDatatype * sendtype, MTestDatatype * recvtype) { int errs = 0, err; - MPI_Aint extent; + MPI_Aint extent, lb; MPI_Win win; MTestPrintfMsg(1, @@ -32,7 +32,8 @@ static inline int test(MPI_Comm comm, int rank, int source, int dest, /* Make sure that everyone has a recv buffer */ recvtype->InitBuf(recvtype); MPI_Type_extent(recvtype->datatype, &extent); - MPI_Win_create(recvtype->buf, recvtype->count * extent, extent, MPI_INFO_NULL, comm, &win); + MPI_Type_lb(recvtype->datatype, &lb); + MPI_Win_create(recvtype->buf, recvtype->count * extent + lb, extent, MPI_INFO_NULL, comm, &win); MPI_Win_fence(0, win); if (rank == source) { /* To improve reporting of problems about operations, we diff --git a/test/mpi/rma/putpscw1.c b/test/mpi/rma/putpscw1.c index b642695..d46c8f9 100644 --- a/test/mpi/rma/putpscw1.c +++ b/test/mpi/rma/putpscw1.c @@ -19,7 +19,7 @@ int main(int argc, char *argv[]) int minsize = 2, count; MPI_Comm comm; MPI_Win win; - MPI_Aint extent; + MPI_Aint extent, lb; MPI_Group wingroup, neighbors; MTestDatatype sendtype, recvtype; @@ -44,7 +44,8 @@ int main(int argc, char *argv[]) recvtype.InitBuf(&recvtype); MPI_Type_extent(recvtype.datatype, &extent); - MPI_Win_create(recvtype.buf, recvtype.count * extent, + MPI_Type_lb(recvtype.datatype, &lb); + MPI_Win_create(recvtype.buf, recvtype.count * extent + lb, (int) extent, MPI_INFO_NULL, comm, &win); MPI_Win_get_group(win, &wingroup); if (rank == source) { ----------------------------------------------------------------------- Summary of changes: test/mpi/rma/accfence1.c | 5 +++-- test/mpi/rma/accpscw1.c | 5 +++-- test/mpi/rma/epochtest.c | 5 +++-- test/mpi/rma/getfence1.c | 5 +++-- test/mpi/rma/putfence1.c | 5 +++-- test/mpi/rma/putpscw1.c | 5 +++-- 6 files changed, 18 insertions(+), 12 deletions(-) hooks/post-receive -- MPICH primary repository
participants (1)
-
noreply@mpich.org