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.
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 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
An Ostream wrapper for parallel output to std::cout.
static void addScatterTime()
Add time increment to scatterTime.
DynamicList< MPI_Comm > MPICommunicators_
static bool write(const commsTypes commsType, const int toProcNo, const char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=0)
Write given buffer to given processor.
commsTypes commsType() const
Get the communications type of the stream.
static const Enum< commsTypes > commsTypeNames
Names of the communication types.
errorManip< error > abort(error &err)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.