[mpich-discuss] initialization issue in strided_get_indexed

Jim Dinan dinan at mcs.anl.gov
Mon Dec 12 14:11:01 CST 2011


Hi Sreeram,

Setting the initial value of loc_buf shouldn't influence whether or not 
this test passes; the entire contents of loc_buf should be overwritten 
later by the call to MPI_Get.  As Dave pointed out, setting this to 
1.0+rank also weakens the test when run on one process since loc_buf 
will already contain the correct data.  This is not the case when run on 
more processes since loc_buf should contain 1.0+((rank+1)%nproc)).

This test has been in the MPICH test suite for several months and hasn't 
given us any trouble.  Any chance that it's exercising a bug on your end?

Best,
  ~Jim.

On 12/12/11 1:27 PM, Dave Goodell wrote:
> Sreeram,
>
> I'm not very familiar with this test, but this looks like an incorrect change to me.  By setting the loc_buf (the origin "receive" buffer) to the expected value in this way then you open up a testing coverage gap if MPI_Get is replaced with a no-op function.
>
> If anything, this test could probably be strengthened by adding the following line in the same location that you recommend making your change:
>
> ----8<----
>          *(loc_buf + i) = -1.0;
> ----8<----
>
> This way you don't assume anything about the values already in the buffer returned by MPI_Alloc_mem.
>
> Perhaps Jim can comment, since he wrote the test originally.
>
> -Dave
>
> On Dec 12, 2011, at 6:53 AM CST, sreeram potluri wrote:
>
>> Hi Team,
>>
>> We have seen a validation error with the strided_get_indexed test in our internal testing with MVAPICH2. This appears to be an initialization issue with the benchmark. The path below fixes it in one way. Please accept the change if appropriate.
>>
>> Index: mpi/rma/strided_get_indexed.c
>> ===================================================================
>> --- mpi/rma/strided_get_indexed.c	(revision 5064)
>> +++ mpi/rma/strided_get_indexed.c	(working copy)
>> @@ -48,8 +48,10 @@
>>       if (rank == 0)
>>           if (verbose) printf("MPI RMA Strided Get Test:\n");
>>
>> -    for (i = 0; i<  XDIM*YDIM; i++)
>> +    for (i = 0; i<  XDIM*YDIM; i++) {
>>           *(win_buf + i) = 1.0 + rank;
>> +        *(loc_buf + i) = 1.0 + rank;
>> +    }
>>
>>       MPI_Win_create(win_buf, bufsize, 1, MPI_INFO_NULL, MPI_COMM_WORLD,&buf_win);
>>
>> Regards
>> Sreeram Potluri
>> _______________________________________________
>> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
>> To manage subscription options or unsubscribe:
>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>


More information about the mpich-discuss mailing list