Go to the documentation of this file.
42 const commsTypes commsType,
45 const std::streamsize bufSize,
47 const label communicator
52 Pout<<
"UOPstream::write : starting write to:" << toProcNo
54 <<
" comm:" << communicator <<
" size:" << label(bufSize)
60 Pout<<
"UOPstream::write : starting write to:" << toProcNo
62 <<
" comm:" << communicator <<
" size:" << label(bufSize)
73 bool transferFailed =
true;
79 transferFailed = MPI_Bsend
81 const_cast<char*
>(buf),
94 Pout<<
"UOPstream::write : finished write to:" << toProcNo
95 <<
" tag:" << tag <<
" size:" << label(bufSize)
102 transferFailed = MPI_Send
104 const_cast<char*
>(buf),
117 Pout<<
"UOPstream::write : finished write to:" << toProcNo
118 <<
" tag:" << tag <<
" size:" << label(bufSize)
127 transferFailed = MPI_Isend
129 const_cast<char*
>(buf),
142 Pout<<
"UOPstream::write : started write to:" << toProcNo
143 <<
" tag:" << tag <<
" size:" << label(bufSize)
154 <<
"Unsupported communications type "
159 return !transferFailed;
int debug
Static debugging option.
static label warnComm
Debugging: warn for use of any communicator differing from warnComm.
commsTypes commsType() const noexcept
Get the communications type of the stream.
static void addWaitTime()
Add time increment to waitTime.
static void printStack(Ostream &os)
Helper function to print a stack.
void checkCommunicator(const label comm, const label toProcNo)
static bool write(const commsTypes commsType, const int toProcNo, const char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=UPstream::worldComm)
Write given buffer to given processor.
static void beginTiming()
Update timer prior to measurement.
DynamicList< MPI_Request > outstandingRequests_
Outstanding non-blocking operations.
Ostream & endl(Ostream &os)
Add newline and flush stream.
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.
static void addScatterTime()
Add time increment to scatterTime.
DynamicList< MPI_Comm > MPICommunicators_
static const Enum< commsTypes > commsTypeNames
Names of the communication types.
errorManip< error > abort(error &err)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.