syko
syko

Reputation: 3637

MPI one-sided communication with user callbacks

To overlap MPI communications and computations, I am working on issuing asynchronous I/O (MPI calls) with user-defined computation function on the data from I/O.

MS-Window's 'Overlap' is not the friend of MPI (It supports for overlapped I/O only for File I/O and Socket communication, but not for MPI operations...)

I cannot find an appropriate MPI API for it, is there anyone with a glimpse on it?

Upvotes: 1

Views: 201

Answers (1)

Hristo Iliev
Hristo Iliev

Reputation: 74405

There are no completion callbacks in MPI. Non-blocking operations always return a request handle that must be either be synchronously waited on using MPI_Wait and family or periodically tested using the non-blocking MPI_Test and family.

With the help of either MPI_Waitsome or MPI_Testsome, it is possible to implement a dispatch mechanism that monitors multiple requests and calls specific functions upon their completion. None of the MPI calls has any timeout characteristics though - it is either "wait forever" (MPI_Wait...) or "check without waiting" (MPI_Test...).

Upvotes: 3

Related Questions