[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