For most types of parallel algorithms implemented in R, where the focus is mainly on statistical numerical programming as opposed to more symbol-based processing or implementing exotic system architectures with more unpredictable communication patterns, the following "advanced" API calls are not often used. Nevertheless, they enable the MPI processes to deal with out-of-bound communication, and to avoid waiting unnecessarily for a communication to complete when other processing may usefully be performed; so if your context permits, then it can certainly be more efficient to make use of them. You may, for example, be able to interleave the communication between successive iterations in a long-running computation.
The following table covers MPI_Probe
for retrieving information about a completed communication, MPI_Test
to check for completion of a communication, and MPI_Cancel
for enabling you to rescind an uncompleted communication:
INSPECTING / MANAGING... |
---|