Freeing requests


Up: Design Next: Single device optimizations Previous: Synchronous sends

The MPI standard allows

MPI_Isend( ..., &request ) 
        MPI_Request_free( &request ) 
and
MPI_Irecv( ..., &request ) 
        MPI_Request_free( &request ) 
In order for us to properly complete this, we need to continue to push the requests until they complete. For this to work, we need to put the request on a global list of these requests, and run through this list frequently. At the very least, the device push should process this list. For this, we need a list next pointer in the request.



Up: Design Next: Single device optimizations Previous: Synchronous sends