[mpich-discuss] sequencing non-blocking requests

Dave Goodell goodell at mcs.anl.gov
Fri May 4 12:24:56 CDT 2012


On May 4, 2012, at 12:14 PM CDT, Martin Pokorny wrote:

> Hi, all;
> I'm trying to create a generalized request out of a sequence of regular requests. I've implemented this using the extended generalized request "class" with a wait function to check and make progress on the sequence of requests. Within the wait function of the generalized request, I'd like to call MPI_Testall on some subset of the current (sub-)requests, but I'm uncertain about whether that is safe. In my implementation this works much of the time, but occasionally there are apparent deadlocks (however, I'm not sure of the cause). I'm wondering whether or not it's OK to recursively call MPI_Testall and other, similar functions from the wait function of the generalized request without special measures. Any insight would be appreciated.

This isn't really supported usage.  My guess is that the progress engine and generalized request code will tolerate it for a variety of scenarios, but it certainly wasn't designed with this case in mind and it probably has at least one insidious bug hiding somewhere.

FWIW, you're not the only person to want this sort of behavior.  We've recently received other requests for user-defined nonblocking requests.  We don't have any concrete plans to offer it right now, but we're certainly thinking about it.

-Dave



More information about the mpich-discuss mailing list