[MPICH] code for checking interveaving
Wei-keng Liao
wkliao at ece.northwestern.edu
Mon Jan 28 16:21:12 CST 2008
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
More information about the mpich-discuss
mailing list