|
Teuchos - Trilinos Tools Package
Version of the Day
|
Base class MPI implementation of CommRequest. More...
#include <Teuchos_DefaultMpiComm.hpp>
Public Member Functions | |
| MpiCommRequestBase () | |
| Default constructor. | |
| MpiCommRequestBase (MPI_Request rawMpiRequest) | |
| Constructor (from a raw MPI_Request). | |
| MPI_Request | releaseRawMpiRequest () |
| Return and relinquish ownership of the raw MPI_Request. | |
| bool | isNull () const |
Whether the raw MPI_Request is MPI_REQUEST_NULL. | |
| RCP< CommStatus< OrdinalType > > | wait () |
| Wait on this communication request to complete. | |
| RCP< CommStatus< OrdinalType > > | cancel () |
| Cancel the communication request, and return its status. | |
| virtual | ~MpiCommRequestBase () |
| Destructor; cancels the request if it is still pending. | |
Base class MPI implementation of CommRequest.
| OrdinalType | Same as the template parameter of Comm. |
This class wraps MPI_Request, which is MPI's reification of a nonblocking communication operation.
Users would not normally create an instance of this class. Calls to nonblocking communication operations (such as ireceive() or isend()) return a pointer to a CommRequest. If the Comm is an MpiComm, then the returned CommRequest is an MpiCommRequest.
Users might wish to create an MpiCommRequest directly if they want to encapsulate an MPI_Request returned by an external library or by their own code.
Definition at line 182 of file Teuchos_DefaultMpiComm.hpp.
| Teuchos::MpiCommRequestBase< OrdinalType >::MpiCommRequestBase | ( | ) | [inline] |
Default constructor.
Definition at line 185 of file Teuchos_DefaultMpiComm.hpp.
| Teuchos::MpiCommRequestBase< OrdinalType >::MpiCommRequestBase | ( | MPI_Request | rawMpiRequest | ) | [inline] |
Constructor (from a raw MPI_Request).
Definition at line 190 of file Teuchos_DefaultMpiComm.hpp.
| virtual Teuchos::MpiCommRequestBase< OrdinalType >::~MpiCommRequestBase | ( | ) | [inline, virtual] |
Destructor; cancels the request if it is still pending.
Definition at line 260 of file Teuchos_DefaultMpiComm.hpp.
| MPI_Request Teuchos::MpiCommRequestBase< OrdinalType >::releaseRawMpiRequest | ( | ) | [inline] |
Return and relinquish ownership of the raw MPI_Request.
"Relinquish ownership" means that this object sets its raw MPI_Request to MPI_REQUEST_NULL, but returns the original MPI_Request. This effectively gives the caller ownership of the raw MPI_Request. This prevents hanging requests.
Definition at line 201 of file Teuchos_DefaultMpiComm.hpp.
| bool Teuchos::MpiCommRequestBase< OrdinalType >::isNull | ( | ) | const [inline] |
Whether the raw MPI_Request is MPI_REQUEST_NULL.
Definition at line 209 of file Teuchos_DefaultMpiComm.hpp.
| RCP<CommStatus<OrdinalType> > Teuchos::MpiCommRequestBase< OrdinalType >::wait | ( | ) | [inline, virtual] |
Wait on this communication request to complete.
This is a blocking operation. The user is responsible for avoiding deadlock. (For example, a receive must have a matching send, otherwise a wait on the receive will wait forever.)
Implements Teuchos::CommRequest< OrdinalType >.
Definition at line 218 of file Teuchos_DefaultMpiComm.hpp.
| RCP<CommStatus<OrdinalType> > Teuchos::MpiCommRequestBase< OrdinalType >::cancel | ( | ) | [inline] |
Cancel the communication request, and return its status.
If this request is invalid or has already been invalidated, this method returns null.
Definition at line 235 of file Teuchos_DefaultMpiComm.hpp.
1.7.6.1