41 <<
"The dummy Pstream library cannot be used in parallel mode" 51 <<
"The dummy Pstream library cannot be used in parallel mode" 59 bool Foam::UPstream::setSharedMemoryCommunicators()
85 void Foam::UPstream::allocateCommunicatorComponents
87 const label parentIndex,
93 void Foam::UPstream::dupCommunicatorComponents
95 const label parentIndex,
100 void Foam::UPstream::splitCommunicatorComponents
102 const label parentIndex,
110 void Foam::UPstream::freeCommunicatorComponents(
const label index)
130 const int communicator,
138 std::pair<int,int64_t>
142 const int fromProcNo,
144 const int communicator
156 const int communicator
159 messageSizes.
clear();
errorManipArg< error, int > exit(error &err, const int errNo=1)
commsTypes
Communications types.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Ostream & endl(Ostream &os)
Add newline and flush stream.
static bool initNull()
Special purpose initialisation function.
static void shutdown(int errNo=0)
Shutdown (finalize) MPI as required.
static void send_done(const int toProcNo, const int communicator, const int tag=UPstream::msgType()+1970)
Impose a point-to-point synchronisation barrier by sending a zero-byte "done" message to given rank...
static void barrier(const int communicator, UPstream::Request *req=nullptr)
Impose a synchronisation barrier (optionally non-blocking)
static void exit(int errNo=1)
Shutdown (finalize) MPI as required and exit program with errNo.
static bool init(int &argc, char **&argv, const bool needsThread)
Initialisation function called from main.
An opaque wrapper for MPI_Request with a vendor-independent representation without any <mpi...
A HashTable similar to std::unordered_map.
errorManip< error > abort(error &err)
static void probeMessages(DynamicList< int64_t > &messageSizes, const UList< int > &fromProcs, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm)
Probe incoming message sizes from specified ranks.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
static std::pair< int, int64_t > probeMessage(const UPstream::commsTypes commsType, const int fromProcNo, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm)
A standard or non-blocking probe for an incoming message.
void clear() noexcept
Clear the addressed list, i.e. set the size to zero.
Wrapper for internally indexed communicator label. Always invokes UPstream::allocateCommunicatorCompo...
static int wait_done(const int fromProcNo, const int communicator, const int tag=UPstream::msgType()+1970)
Impose a point-to-point synchronisation barrier by receiving a zero-byte "done" message from given ra...
#define WarningInFunction
Report a warning using Foam::Warning.
static void abort(int errNo=1)
Call MPI_Abort with no other checks or cleanup.
static void addValidParOptions(HashTable< string > &validParOptions)
Add the valid option this type of communications library adds/requires on the command line...