Implementation details for UPstream/Pstream/MPI etc. More...
Functions | |
| template<class IntType> | |
| void | reduce_offsetRange (Foam::OffsetRange< IntType > &range, const int communicator) |
| template<class IntType, std::size_t... Is, class... OffsetRanges> | |
| void | reduce_offsetRanges (const int communicator, std::index_sequence< Is... >, OffsetRanges &... items) |
| template<class Type> | |
| bool | broadcast (Type *values, int count, MPI_Datatype datatype, const int communicator, const int root=0) |
| template<class Type> | |
| void | reduce (const Type *sendData, Type *values, int count, MPI_Datatype datatype, MPI_Op optype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | allReduce (Type *values, int count, MPI_Datatype datatype, MPI_Op optype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | scanReduce (const Type *sendData, Type *recvData, int count, MPI_Datatype datatype, MPI_Op optype, const int communicator, const int exclusive) |
| template<class Type> | |
| void | allToAll (const UList< Type > &sendData, UList< Type > &recvData, MPI_Datatype datatype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | allToAllv (const Type *sendData, const UList< int > &sendCounts, const UList< int > &sendOffsets, Type *recvData, const UList< int > &recvCounts, const UList< int > &recvOffsets, MPI_Datatype datatype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | allToAllConsensus (const UList< Type > &sendData, UList< Type > &recvData, MPI_Datatype datatype, const int tag, const int communicator) |
| template<class Type> | |
| void | allToAllConsensus (const Map< Type > &sendData, Map< Type > &recvData, MPI_Datatype datatype, const int tag, const int communicator) |
| template<class Type> | |
| void | gather (const Type *sendData, Type *recvData, int count, MPI_Datatype datatype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | scatter (const Type *sendData, Type *recvData, int count, MPI_Datatype datatype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | gatherv (const Type *sendData, int sendCount, Type *recvData, const UList< int > &recvCounts, const UList< int > &recvOffsets, MPI_Datatype datatype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | scatterv (const Type *sendData, const UList< int > &sendCounts, const UList< int > &sendOffsets, Type *recvData, int recvCount, MPI_Datatype datatype, const int communicator, UPstream::Request *req=nullptr) |
| template<class Type> | |
| void | allGather (Type *allData, int count, MPI_Datatype datatype, const int communicator, UPstream::Request *req=nullptr) |
Implementation details for UPstream/Pstream/MPI etc.
| void reduce_offsetRange | ( | Foam::OffsetRange< IntType > & | range, |
| const int | communicator ) |
Definition at line 56 of file UPstreamReduceOffsets.H.
References UPstream::broadcast, UPstream::is_parallel(), UPstream::mpiExscan_sum(), UPstream::nProcs(), and range.
Referenced by Foam::reduceOffset(), and Foam::reduceOffsets().


| void reduce_offsetRanges | ( | const int | communicator, |
| std::index_sequence< Is... > | , | ||
| OffsetRanges &... | items ) |
Definition at line 94 of file UPstreamReduceOffsets.H.
References UPstream::broadcast, UPstream::is_parallel(), UPstream::mpiExscan_sum(), UPstream::myProcNo(), and UPstream::nProcs().
Referenced by Foam::reduceOffsets().


| bool broadcast | ( | Type * | values, |
| int | count, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| const int | root = 0 ) |
| void reduce | ( | const Type * | sendData, |
| Type * | values, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | optype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void allReduce | ( | Type * | values, |
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | optype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void scanReduce | ( | const Type * | sendData, |
| Type * | recvData, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | optype, | ||
| const int | communicator, | ||
| const int | exclusive ) |
| void allToAll | ( | const UList< Type > & | sendData, |
| UList< Type > & | recvData, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void allToAllv | ( | const Type * | sendData, |
| const UList< int > & | sendCounts, | ||
| const UList< int > & | sendOffsets, | ||
| Type * | recvData, | ||
| const UList< int > & | recvCounts, | ||
| const UList< int > & | recvOffsets, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void allToAllConsensus | ( | const UList< Type > & | sendData, |
| UList< Type > & | recvData, | ||
| MPI_Datatype | datatype, | ||
| const int | tag, | ||
| const int | communicator ) |
| void allToAllConsensus | ( | const Map< Type > & | sendData, |
| Map< Type > & | recvData, | ||
| MPI_Datatype | datatype, | ||
| const int | tag, | ||
| const int | communicator ) |
| void gather | ( | const Type * | sendData, |
| Type * | recvData, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void scatter | ( | const Type * | sendData, |
| Type * | recvData, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void gatherv | ( | const Type * | sendData, |
| int | sendCount, | ||
| Type * | recvData, | ||
| const UList< int > & | recvCounts, | ||
| const UList< int > & | recvOffsets, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void scatterv | ( | const Type * | sendData, |
| const UList< int > & | sendCounts, | ||
| const UList< int > & | sendOffsets, | ||
| Type * | recvData, | ||
| int | recvCount, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |
| void allGather | ( | Type * | allData, |
| int | count, | ||
| MPI_Datatype | datatype, | ||
| const int | communicator, | ||
| UPstream::Request * | req = nullptr ) |