[MPICH] code for checking interveaving

Rajeev Thakur thakur at mcs.anl.gov
Mon Jan 28 17:13:37 CST 2008


That line was added in response to a bug report and fix from Jianwei Li. See
attached mail. Note that in the case he mentions (count=0), end_offset[i]
will be set to start_offset[i]-1.

Rajeev


> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov 
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Wei-keng Liao
> Sent: Monday, January 28, 2008 4:21 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] code for checking interveaving
> 
> 
> In MPICH2-1.0.6p1, file adio/common/ad_write_coll.c, lines 112 - 118,
> 
> 112     /* are the accesses of different processes interleaved? */
> 113     for (i=1; i<nprocs; i++)
> 114         if ((st_offsets[i] < end_offsets[i-1]) &&
> 115             (st_offsets[i] <= end_offsets[i]))
> 116             interleave_count++;
> 117     /* This is a rudimentary check for interleaving, but 
> should suffice
> 118        for the moment. */
> 
> 
> Shouldn't line 115 be the following?
> 
> 115             (st_offsets[i-1] <= end_offsets[i]))
>                            ^^^^^
> Line 115 in its original form makes no sense.
> This not a bug, collective write shall still run correctly 
> without change.
> But, in some case non-inverleaving will considered as interleaving.
> 
> The same thing happens in ad_read_coll.c .
> 
> Wei-keng
> 
> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 1174.txt
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20080128/c73320c0/attachment.txt>


More information about the mpich-discuss mailing list