Originally by dholmes on 2015-01-05 12:02:51 -0600
Motivation
These info keys allow the programmer to assert that the MPI_CANCEL function will not be called for any requests created by send or receive operations on a given communicator.
These assertions remove a source of non-deterministic behaviour in MPI implementations and may reduce overheads. For example, if no_send_cancel is specified then a receive operation no longer needs to check whether the message it is matching has been cancelled.
Proposed Info Keys
The following text would be added to page 249, line 12 of MPI 3.0:
The following info keys are valid for all communicators.
mpi_assert_no_send_cancel -- If set to true, no process will call MPI_CANCEL on a request
returned by a send operation on the given communicator.
mpi_assert_no_recv_cancel -- If set to true, no process will call MPI_CANCEL on a request
returned by a receive operation on the given communicator.
Note: These are global properties on the communicator.
These info keys were originally part of #381, but have been split into a separate ticket because there is consensus on moving them forward for MPI 4.0.
Originally by dholmes on 2015-01-05 12:02:51 -0600
Motivation
These info keys allow the programmer to assert that the MPI_CANCEL function will not be called for any requests created by send or receive operations on a given communicator.
These assertions remove a source of non-deterministic behaviour in MPI implementations and may reduce overheads. For example, if no_send_cancel is specified then a receive operation no longer needs to check whether the message it is matching has been cancelled.
Proposed Info Keys
The following text would be added to page 249, line 12 of MPI 3.0:
Note: These are global properties on the communicator.
These info keys were originally part of #381, but have been split into a separate ticket because there is consensus on moving them forward for MPI 4.0.