On Wed, Jan 23, 2013 at 2:44 PM, Dave Goodell <[email protected]> wrote:
Hmm… it looks like we aren't poking NBC progress properly when a "test" or "iprobe" routine is called. MPIDI_CH3i_Progress_test is missing a call to MPIDU_Sched_progress: http://git.mpich.org/mpich.git/blob/refs/heads/master:/src/mpid/ch3/channels...
The attached code demonstrates this. With ch3:sock, it completes with MPI_Wait, but not with MPI_Test. $ ~/usr/mpich-sock/bin/mpicc ibarrier.c -o ibarrier $ mpirun.hydra -n 2 ./ibarrier [0] MPI_Test: 0 [1] MPI_Test: 0 [0] MPI_Test: 1 [1] MPI_Test: 1 [0] MPI_Test: 2 [1] MPI_Test: 2 ...
I'm surprised this isn't caught by the "coll/nonblock3" test, although we may just be making too much progress some other way, or we may not have enough coverage of the test itself in that test: http://git.mpich.org/mpich.git/blob/refs/heads/master:/test/mpi/coll/nonbloc...
A modest test case would be very helpful.