Hi,
I’m trying to track down a possible race condition in a test program that is using MPI RMA from MPICH 3.2. The program repeats a series of put/get/accumulate operations to different processors. When I’m running on 1 node 4 processors everything
is fine but when I move to 2 nodes 4 processors I start getting failures. The error messages I’m seeing are
Assertion failed in file src/mpid/common/datatype/dataloop/dataloop.c at line 265: 0
and
Assertion failed in file src/mpid/common/datatype/dataloop/dataloop.c at line 157: dataloop->loop_params.cm_t.dataloop
Does anyone have a handle on what these routines do and what kind of behavior is generating these errors? The test program is allocating memory and using it to create a window, followed immediately by a call to MPI_Win_lock_all to create
a passive synchronization epoch. I’ve been using request based RMA calls (Rput, Rget, Raccumulate) followed by an immediate call to MPI_Wait for the individual RMA operations. Any suggestions about what these errors are telling me? If I start putting in print
statements to narrow down the location of the error, the code runs to completion.
Bruce Palmer