Author: dinan Date: 2012-11-27 17:40:04 -0600 (Tue, 27 Nov 2012) New Revision: 10679 Added: mpich2/trunk/test/mpi/rma/squelch.h Modified: mpich2/trunk/test/mpi/rma/test1.c mpich2/trunk/test/mpi/rma/test1_am.c mpich2/trunk/test/mpi/rma/test1_dt.c mpich2/trunk/test/mpi/rma/test2.c mpich2/trunk/test/mpi/rma/test2_am.c mpich2/trunk/test/mpi/rma/test3.c mpich2/trunk/test/mpi/rma/test3_am.c mpich2/trunk/test/mpi/rma/test4.c mpich2/trunk/test/mpi/rma/test4_am.c mpich2/trunk/test/mpi/rma/test5.c mpich2/trunk/test/mpi/rma/test5_am.c mpich2/trunk/test/mpi/rma/transpose3.c Log: Updated RMA tests to squelch error messages Many RMA tests did not limit their output when an error occurred. This adds the simple SQUELCH() macro to these tests to limit per-process error messages. Reviewer: goodell Added: mpich2/trunk/test/mpi/rma/squelch.h =================================================================== --- mpich2/trunk/test/mpi/rma/squelch.h (rev 0) +++ mpich2/trunk/test/mpi/rma/squelch.h 2012-11-27 23:40:04 UTC (rev 10679) @@ -0,0 +1,16 @@ +#ifndef SQUELCH_H_INCLUDED +#define SQUELCH_H_INCLUDED + +static const int SQ_LIMIT = 10; +static int SQ_COUNT = 0; +static int SQ_VERBOSE = 0; + +#define SQUELCH(X) \ + do { \ + if (SQ_COUNT < SQ_LIMIT || SQ_VERBOSE) { \ + SQ_COUNT++; \ + X \ + } \ + } while (0) + +#endif Modified: mpich2/trunk/test/mpi/rma/test1.c =================================================================== --- mpich2/trunk/test/mpi/rma/test1.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test1.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* tests a series of puts, gets, and accumulate on 2 processes using fence */ @@ -60,14 +61,14 @@ if (rank == 1) { for (i=0; i<SIZE-1; i++) { if (A[i] != B[i]) { - printf("Put/Get Error: A[i]=%d, B[i]=%d\n", A[i], B[i]); + SQUELCH( printf("Put/Get Error: A[i]=%d, B[i]=%d\n", A[i], B[i]); ); errs++; } } } else { if (B[SIZE-1] != SIZE - 1 - 3*(SIZE-1)) { - printf("Accumulate Error: B[SIZE-1] is %d, should be %d\n", B[SIZE-1], SIZE - 1 - 3*(SIZE-1)); + SQUELCH( printf("Accumulate Error: B[SIZE-1] is %d, should be %d\n", B[SIZE-1], SIZE - 1 - 3*(SIZE-1)); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test1_am.c =================================================================== --- mpich2/trunk/test/mpi/rma/test1_am.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test1_am.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* tests a series of puts, gets, and accumulate on 2 processes using fence */ @@ -75,14 +76,14 @@ if (rank == 1) { for (i=0; i<SIZE-1; i++) { if (A[i] != B[i]) { - printf("Put/Get Error: A[i]=%d, B[i]=%d\n", A[i], B[i]); + SQUELCH( printf("Put/Get Error: A[i]=%d, B[i]=%d\n", A[i], B[i]); ); errs++; } } } else { if (B[SIZE-1] != SIZE - 1 - 3*(SIZE-1)) { - printf("Accumulate Error: B[SIZE-1] is %d, should be %d\n", B[SIZE-1], SIZE - 1 - 3*(SIZE-1)); + SQUELCH( printf("Accumulate Error: B[SIZE-1] is %d, should be %d\n", B[SIZE-1], SIZE - 1 - 3*(SIZE-1)); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test1_dt.c =================================================================== --- mpich2/trunk/test/mpi/rma/test1_dt.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test1_dt.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* tests a series of puts, gets, and accumulate on 2 processes using fence */ /* Same as test1.c but uses derived datatypes to receive data */ @@ -66,14 +67,14 @@ if (rank == 1) { for (i=0; i<SIZE-2; i++) { if (A[i] != B[i]) { - printf("Put/Get Error: A[i]=%d, B[i]=%d\n", A[i], B[i]); + SQUELCH( printf("Put/Get Error: A[i]=%d, B[i]=%d\n", A[i], B[i]); ); errs++; } } } else { if (B[SIZE-1] != SIZE - 1 - 3*(SIZE-1)) { - printf("Accumulate Error: B[SIZE-1] is %d, should be %d\n", B[SIZE-1], SIZE - 1 - 3*(SIZE-1)); + SQUELCH( printf("Accumulate Error: B[SIZE-1] is %d, should be %d\n", B[SIZE-1], SIZE - 1 - 3*(SIZE-1)); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test2.c =================================================================== --- mpich2/trunk/test/mpi/rma/test2.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test2.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* tests put and get with post/start/complete/wait on 2 processes */ @@ -50,7 +51,7 @@ for (i=0; i<SIZE1; i++) if (B[i] != (-4)*(i+SIZE1)) { - printf("Get Error: B[i] is %d, should be %d\n", B[i], (-4)*(i+SIZE1)); + SQUELCH( printf("Get Error: B[i] is %d, should be %d\n", B[i], (-4)*(i+SIZE1)); ); errs++; } } @@ -64,7 +65,7 @@ for (i=0; i<SIZE1; i++) { if (B[i] != i) { - printf("Put Error: B[i] is %d, should be %d\n", B[i], i); + SQUELCH( printf("Put Error: B[i] is %d, should be %d\n", B[i], i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test2_am.c =================================================================== --- mpich2/trunk/test/mpi/rma/test2_am.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test2_am.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* tests put and get with post/start/complete/wait on 2 processes */ @@ -64,7 +65,7 @@ for (i=0; i<SIZE1; i++) if (B[i] != (-4)*(i+SIZE1)) { - printf("Get Error: B[i] is %d, should be %d\n", B[i], (-4)*(i+SIZE1)); + SQUELCH( printf("Get Error: B[i] is %d, should be %d\n", B[i], (-4)*(i+SIZE1)); ); errs++; } } @@ -78,7 +79,7 @@ for (i=0; i<SIZE1; i++) { if (B[i] != i) { - printf("Put Error: B[i] is %d, should be %d\n", B[i], i); + SQUELCH( printf("Put Error: B[i] is %d, should be %d\n", B[i], i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test3.c =================================================================== --- mpich2/trunk/test/mpi/rma/test3.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test3.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -7,6 +7,7 @@ #include "stdio.h" #include "stdlib.h" #include "mpitest.h" +#include "squelch.h" /* Tests the example in Fig 6.8, pg 142, MPI-2 standard. Process 1 has a blocking MPI_Recv between the Post and Wait. Therefore, this @@ -76,11 +77,11 @@ for (i=0; i<SIZE; i++) { if (B[i] != i) { - printf("Rank 1: Put Error: B[i] is %d, should be %d\n", B[i], i); + SQUELCH( printf("Rank 1: Put Error: B[i] is %d, should be %d\n", B[i], i); ); errs++; } if (A[i] != SIZE + i) { - printf("Rank 1: Send/Recv Error: A[i] is %d, should be %d\n", A[i], SIZE+i); + SQUELCH( printf("Rank 1: Send/Recv Error: A[i] is %d, should be %d\n", A[i], SIZE+i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test3_am.c =================================================================== --- mpich2/trunk/test/mpi/rma/test3_am.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test3_am.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -7,6 +7,7 @@ #include "stdio.h" #include "stdlib.h" #include "mpitest.h" +#include "squelch.h" /* Tests the example in Fig 6.8, pg 142, MPI-2 standard. Process 1 has a blocking MPI_Recv between the Post and Wait. Therefore, this @@ -76,11 +77,11 @@ for (i=0; i<SIZE; i++) { if (B[i] != i) { - printf("Rank 1: Put Error: B[i] is %d, should be %d\n", B[i], i); + SQUELCH( printf("Rank 1: Put Error: B[i] is %d, should be %d\n", B[i], i); ); errs++; } if (A[i] != SIZE + i) { - printf("Rank 1: Send/Recv Error: A[i] is %d, should be %d\n", A[i], SIZE+i); + SQUELCH( printf("Rank 1: Send/Recv Error: A[i] is %d, should be %d\n", A[i], SIZE+i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test4.c =================================================================== --- mpich2/trunk/test/mpi/rma/test4.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test4.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -7,6 +7,7 @@ #include "stdio.h" #include "stdlib.h" #include "mpitest.h" +#include "squelch.h" /* tests passive target RMA on 2 processes. tests the lock-single_op-unlock optimization. */ @@ -55,7 +56,7 @@ for (i=0; i<SIZE1; i++) if (B[i] != (-4)*(i+SIZE1)) { - printf("Get Error: B[%d] is %d, should be %d\n", i, B[i], (-4)*(i+SIZE1)); + SQUELCH( printf("Get Error: B[%d] is %d, should be %d\n", i, B[i], (-4)*(i+SIZE1)); ); errs++; } } @@ -67,7 +68,7 @@ for (i=0; i<SIZE1; i++) { if (B[i] != i) { - printf("Put Error: B[%d] is %d, should be %d\n", i, B[i], i); + SQUELCH( printf("Put Error: B[%d] is %d, should be %d\n", i, B[i], i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test4_am.c =================================================================== --- mpich2/trunk/test/mpi/rma/test4_am.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test4_am.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -7,6 +7,7 @@ #include "stdio.h" #include "stdlib.h" #include "mpitest.h" +#include "squelch.h" /* tests passive target RMA on 2 processes. tests the lock-single_op-unlock optimization. */ @@ -66,7 +67,7 @@ for (i=0; i<SIZE1; i++) if (B[i] != (-4)*(i+SIZE1)) { - printf("Get Error: B[%d] is %d, should be %d\n", i, B[i], (-4)*(i+SIZE1)); + SQUELCH( printf("Get Error: B[%d] is %d, should be %d\n", i, B[i], (-4)*(i+SIZE1)); ); errs++; } } @@ -78,7 +79,7 @@ for (i=0; i<SIZE1; i++) { if (B[i] != i) { - printf("Put Error: B[%d] is %d, should be %d\n", i, B[i], i); + SQUELCH( printf("Put Error: B[%d] is %d, should be %d\n", i, B[i], i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test5.c =================================================================== --- mpich2/trunk/test/mpi/rma/test5.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test5.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* tests a series of Gets. Run on 2 processes. */ @@ -43,7 +44,7 @@ MPI_Win_fence(0, win); for (i=0; i<SIZE; i++) if (A[i] != 1000 + i) { - printf("Rank 0: A[%d] is %d, should be %d\n", i, A[i], 1000+i); + SQUELCH( printf("Rank 0: A[%d] is %d, should be %d\n", i, A[i], 1000+i); ); errs++; } } @@ -59,7 +60,7 @@ MPI_Win_fence(0, win); for (i=0; i<SIZE; i++) if (B[i] != 500 + i) { - printf("Rank 1: B[%d] is %d, should be %d\n", i, B[i], 500+i); + SQUELCH( printf("Rank 1: B[%d] is %d, should be %d\n", i, B[i], 500+i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/test5_am.c =================================================================== --- mpich2/trunk/test/mpi/rma/test5_am.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/test5_am.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* tests a series of Gets. Run on 2 processes. */ @@ -56,7 +57,7 @@ MPI_Win_fence(0, win); for (i=0; i<SIZE; i++) if (A[i] != 1000 + i) { - printf("Rank 0: A[%d] is %d, should be %d\n", i, A[i], 1000+i); + SQUELCH( printf("Rank 0: A[%d] is %d, should be %d\n", i, A[i], 1000+i); ); errs++; } } @@ -72,7 +73,7 @@ MPI_Win_fence(0, win); for (i=0; i<SIZE; i++) if (B[i] != 500 + i) { - printf("Rank 1: B[%d] is %d, should be %d\n", i, B[i], 500+i); + SQUELCH( printf("Rank 1: B[%d] is %d, should be %d\n", i, B[i], 500+i); ); errs++; } } Modified: mpich2/trunk/test/mpi/rma/transpose3.c =================================================================== --- mpich2/trunk/test/mpi/rma/transpose3.c 2012-11-27 23:40:02 UTC (rev 10678) +++ mpich2/trunk/test/mpi/rma/transpose3.c 2012-11-27 23:40:04 UTC (rev 10679) @@ -6,6 +6,7 @@ #include "mpi.h" #include "stdio.h" #include "mpitest.h" +#include "squelch.h" /* transposes a matrix using post/start/complete/wait and derived datatypes. Uses vector and hvector (Example 3.32 from MPI 1.1 @@ -82,8 +83,8 @@ { if (errs < 50) { - printf("Error: A[%d][%d]=%d should be %d\n", j, i, - A[j][i], i*NCOLS + j); + SQUELCH( printf("Error: A[%d][%d]=%d should be %d\n", j, i, + A[j][i], i*NCOLS + j); ); } errs++; }
participants (1)
-
dinan@mcs.anl.gov