[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2-22-gb20e825

Service Account noreply at mpich.org
Fri Dec 11 19:43:08 CST 2015


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/b20e8255c86502b5baf4881c8bddde16f8a2011c

commit b20e8255c86502b5baf4881c8bddde16f8a2011c
Author: Charles J Archer <charles.j.archer at intel.com>
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 <raffenet at mcs.anl.gov>

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


More information about the commits mailing list