69 template<
class Container,
class T>
70 static void exchangeContainer
83 static void exchangeBuf
115 const label bufSize = 0
144 template<
class Type,
class... Args>
145 static void broadcasts(
const label comm, Type& arg1, Args&&...
args);
153 template<
class T,
class BinaryOp>
166 template<
class T,
class BinaryOp>
183 template<
class T,
class CombineOp>
188 const CombineOp& cop,
196 template<
class T,
class CombineOp>
200 const CombineOp& cop,
210 template<
class T,
class CombineOp>
215 const CombineOp& cop,
225 template<
class T,
class CombineOp>
229 const CombineOp& cop,
237 template<
class T,
class CombineOp>
242 const CombineOp& cop,
248 template<
class T,
class CombineOp>
252 const CombineOp& cop,
258 template<
class T,
class CombineOp>
263 const CombineOp& cop,
269 template<
class T,
class CombineOp>
273 const CombineOp& cop,
282 template<
class Container,
class CombineOp>
287 const CombineOp& cop,
293 template<
class Container,
class CombineOp>
297 const CombineOp& cop,
304 template<
class Container,
class CombineOp>
309 const CombineOp& cop,
315 template<
class Container,
class CombineOp>
319 const CombineOp& cop,
448 template<
class Container>
458 template<
class Container>
491 template<
class Container>
496 const Container& sendData,
505 template<
class Container>
508 const Container& sendData,
517 template<
class Container,
class T>
525 const bool wait =
true
532 template<
class Container,
class T>
539 const bool wait =
true
Variant of gather, scatter. Normal gather uses:
Gather data from all processors onto single processor according to some communication schedule (usual...
Gather data from all processors onto single processor according to some communication schedule (usual...
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
void setCapacity(const label len)
Alter the size of the underlying storage.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Inter-processor communications stream.
static void allGatherList(const List< commsStruct > &comms, List< T > &values, const int tag, const label comm)
DynamicList< char > transferBuf_
Allocated transfer buffer (can be used for send or receive)
static void gather(const List< commsStruct > &comms, T &value, const BinaryOp &bop, const int tag, const label comm)
static void exchangeSizes(const labelUList &sendProcs, const labelUList &recvProcs, const Container &sendData, labelList &sizes, const label tag=UPstream::msgType(), const label comm=UPstream::worldComm)
static void listCombineAllGather(const List< commsStruct > &comms, List< T > &values, const CombineOp &cop, const int tag, const label comm)
After completion all processors have the same data.
static void gatherList(const List< commsStruct > &comms, List< T > &values, const int tag, const label comm)
static void combineGather(const List< commsStruct > &comms, T &value, const CombineOp &cop, const int tag, const label comm)
static void combineScatter(const List< commsStruct > &comms, T &value, const int tag, const label comm)
Broadcast data: Distribute without modification.
Pstream(const UPstream::commsTypes commsType, const label bufSize=0)
Construct for given commsTypes, with optional buffer size.
static void combineAllGather(const List< commsStruct > &comms, T &value, const CombineOp &cop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
static void scatterList(const List< commsStruct > &comms, List< T > &values, const int tag, const label comm)
Scatter data. Reverse of gatherList.
static void listCombineScatter(const List< commsStruct > &comms, List< T > &value, const int tag, const label comm)
Broadcast data: Distribute without modification.
static void exchange(const UList< Container > &sendData, const labelUList &recvSizes, List< Container > &recvData, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm, const bool wait=true)
static void mapCombineScatter(const List< commsStruct > &comms, Container &values, const int tag, const label comm)
Broadcast data: Distribute without modification.
static void broadcast(Type &value, const label comm=UPstream::worldComm)
static void scatter(const List< commsStruct > &comms, T &value, const int tag, const label comm)
Broadcast data: Distribute without modification.
static void mapCombineGather(const List< commsStruct > &comms, Container &values, const CombineOp &cop, const int tag, const label comm)
static void listCombineGather(const List< commsStruct > &comms, List< T > &values, const CombineOp &cop, const int tag, const label comm)
static void broadcasts(const label comm, Type &arg1, Args &&... args)
Broadcast multiple items to all processes in communicator.
static void mapCombineAllGather(const List< commsStruct > &comms, Container &values, const CombineOp &cop, const int tag, const label comm)
After completion all processors have the same data.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Inter-processor communications stream.
commsTypes
Types of communications.
static int & msgType() noexcept
Message tag of standard messages.
commsTypes commsType() const noexcept
Get the communications type of the stream.
static label worldComm
Default communicator (all processors)
static bool broadcast(char *buf, const std::streamsize bufSize, const label communicator=worldComm, const int rootProcNo=masterNo())
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Foam::argList args(argc, argv)