Functions | Variables
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...
 
label push_request (MPI_Request request)
 Reuse previously freed request locations or push request onto list of outstanding requests. More...
 

Variables

DynamicList< MPI_Request > outstandingRequests_
 Outstanding non-blocking operations. More...
 
DynamicList< label > freedRequests_
 
int nTags_ = 0
 Max outstanding message tag operations. More...
 
DynamicList< int > freedTags_
 Free'd message tags. More...
 
DynamicList< MPI_Comm > MPICommunicators_
 
DynamicList< MPI_Group > MPIGroups_
 

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 39 of file PstreamGlobals.C.

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

Here is the call graph for this function:

◆ push_request()

label Foam::PstreamGlobals::push_request ( MPI_Request  request)
inline

Reuse previously freed request locations or push request onto list of outstanding requests.

Returns
index of request within outstandingRequests_

Definition at line 86 of file PstreamGlobals.H.

References UList< T >::back(), freedRequests_, outstandingRequests_, DynamicList< T, SizeMin >::pop_back(), and UList< T >::size().

Referenced by Foam::PstreamDetail::allReduce(), Foam::PstreamDetail::allToAll(), Foam::PstreamDetail::allToAllv(), Foam::PstreamDetail::gather(), Foam::PstreamDetail::gatherv(), Foam::PstreamDetail::scatter(), and Foam::PstreamDetail::scatterv().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ outstandingRequests_

Foam::DynamicList< MPI_Request > outstandingRequests_

Outstanding non-blocking operations.

Definition at line 25 of file PstreamGlobals.C.

Referenced by push_request().

◆ freedRequests_

Foam::DynamicList< Foam::label > freedRequests_

Definition at line 26 of file PstreamGlobals.C.

Referenced by push_request().

◆ nTags_

int nTags_ = 0

Max outstanding message tag operations.

Definition at line 28 of file PstreamGlobals.C.

Referenced by UPstream::allocateTag().

◆ freedTags_

Foam::DynamicList< int > freedTags_

Free'd message tags.

Definition at line 30 of file PstreamGlobals.C.

Referenced by UPstream::allocateTag(), and UPstream::freeTag().

◆ MPICommunicators_

Foam::DynamicList< MPI_Comm > MPICommunicators_

◆ MPIGroups_

Foam::DynamicList< MPI_Group > MPIGroups_

Definition at line 33 of file PstreamGlobals.C.