Foam::PstreamGlobals Namespace Reference

Global functions and variables for working with parallel streams, but principally for MPI. More...

Functions

void checkCommunicator (const label comm, const label toProcNo)
 Fatal if comm is outside the allocated range. More...
 
void reset_request (UPstream::Request *requestPtr, label *requestIdx=nullptr)
 Reset UPstream::Request to null and/or the index of the outstanding request to -1. More...
 
void push_request (MPI_Request request, UPstream::Request *requestPtr=nullptr, label *requestIdx=nullptr)
 Transcribe MPI_Request to UPstream::Request (does not affect the stack of outstanding requests) or else push onto list of outstanding requests and (optionally) record its location. More...
 

Variables

DynamicList< bool > pendingMPIFree_
 
DynamicList< MPI_Comm > MPICommunicators_
 
DynamicList< MPI_Request > outstandingRequests_
 Outstanding non-blocking operations. More...
 

Detailed Description

Global functions and variables for working with parallel streams, but principally for MPI.

Source files

Function Documentation

◆ checkCommunicator()

void checkCommunicator ( const label  comm,
const label  toProcNo 
)

Fatal if comm is outside the allocated range.

Definition at line 34 of file PstreamGlobals.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, MPICommunicators_, and Foam::nl.

Here is the call graph for this function:

◆ reset_request()

void Foam::PstreamGlobals::reset_request ( UPstream::Request requestPtr,
label *  requestIdx = nullptr 
)
inline

Reset UPstream::Request to null and/or the index of the outstanding request to -1.

Does not affect the stack of outstanding requests.

Definition at line 85 of file PstreamGlobals.H.

Referenced by UPstream_mpi_receive().

Here is the caller graph for this function:

◆ push_request()

void Foam::PstreamGlobals::push_request ( MPI_Request  request,
UPstream::Request requestPtr = nullptr,
label *  requestIdx = nullptr 
)
inline

Transcribe MPI_Request to UPstream::Request (does not affect the stack of outstanding requests) or else push onto list of outstanding requests and (optionally) record its location.

Definition at line 102 of file PstreamGlobals.H.

References outstandingRequests_.

Referenced by UPstream_mpi_receive().

Here is the caller graph for this function:

Variable Documentation

◆ pendingMPIFree_

Foam::DynamicList< bool > pendingMPIFree_

Definition at line 26 of file PstreamGlobals.C.

◆ MPICommunicators_

Foam::DynamicList< MPI_Comm > MPICommunicators_

Definition at line 27 of file PstreamGlobals.C.

Referenced by checkCommunicator(), and UPstream_mpi_receive().

◆ outstandingRequests_

Foam::DynamicList< MPI_Request > outstandingRequests_

Outstanding non-blocking operations.

Definition at line 28 of file PstreamGlobals.C.

Referenced by push_request(), and UPstream_mpi_receive().