Loading...
Searching...
No Matches
PstreamGlobals.H File Reference
Include dependency graph for PstreamGlobals.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Foam::PstreamGlobals
 Global functions and variables for working with parallel streams, but principally for MPI.
namespace  Foam
 Namespace for OpenFOAM.

Typedefs

typedef Foam::FixedList< int, 17 > DataTypeCountLookupTable
typedef Foam::FixedList< MPI_Datatype, 17 > DataTypeLookupTable
typedef Foam::FixedList< MPI_Op, 13 > OpCodesLookupTable

Functions

void initCommunicator (const label index)
 Initialize bookkeeping for MPI communicator index.
void checkCommunicator (int comm, int rank)
 Fatal if communicator is outside the allocated range.
bool warnCommunicator (int comm) noexcept
 True if warn communicator is active and not equal to given communicator.
void initDataTypes ()
 Create mapping into MPIdataTypes_ and define user data types.
void deinitDataTypes ()
 Free any user data types.
bool checkDataTypes ()
 Debugging only: check if data type mappings are non-null.
void printDataTypes (bool all=false)
 Debugging only: print data type names (all or just user-defined).
MPI_Datatype getDataType (UPstream::dataTypes id)
 Lookup of dataTypes enumeration as an MPI_Datatype.
void checkDataType (UPstream::dataTypes id)
 Fatal if data type is not valid.
std::string dataType_name (MPI_Datatype datatype)
 Return MPI internal name for specified MPI_Datatype.
std::string dataType_name (UPstream::dataTypes id)
 Return MPI internal name for dataTypes enumeration.
void initOpCodes ()
 Create mapping into MPIopCodes_.
void deinitOpCodes ()
 Free any user-defined op codes.
bool checkOpCodes ()
 Debugging only: check if op code mappings are non-null.
MPI_Op getOpCode (UPstream::opCodes id)
 Lookup of opCodes enumeration as an MPI_Op.
void checkOpCode (UPstream::opCodes id)
 Fatal if opcode is not valid.
void reset_request (UPstream::Request *req) noexcept
 Reset UPstream::Request to MPI_REQUEST_NULL.
void push_request (MPI_Request request, UPstream::Request *req=nullptr)
 Transcribe MPI_Request to UPstream::Request (does not affect the stack of outstanding requests) or else push onto list of outstanding requests.
bool broadcast_int64 (int64_t &value, int comm, int root=0)
 Broadcast a single int64 value.

Variables

DynamicList< bool > pendingMPIFree_
DynamicList< MPI_Comm > MPICommunicators_
DynamicList< MPI_Request > outstandingRequests_
 Outstanding non-blocking operations.
DataTypeCountLookupTable dataTypesCount_
 Fundamental count for each valid UPstream::dataTypes entry Indexed by UPstream::dataTypes enum.
DataTypeLookupTable MPIdataTypes_
 MPI data types corresponding to fundamental and OpenFOAM types. Indexed by UPstream::dataTypes enum.
OpCodesLookupTable MPIopCodes_
 MPI operation types, indexed by UPstream::opCodes enum.

Detailed Description

Original source file PstreamGlobals.H

Definition in file PstreamGlobals.H.