Some implementation details for Pstream and/or MPI. More...
Functions | |
template<class Type > | |
void | broadcast0 (Type *values, int count, MPI_Datatype datatype, const label comm) |
template<class Type > | |
void | reduce0 (Type *values, int count, MPI_Datatype datatype, MPI_Op optype, const label comm) |
template<class Type > | |
void | allReduce (Type *values, int count, MPI_Datatype datatype, MPI_Op optype, const label comm, label *requestID=nullptr) |
template<class Type > | |
void | allToAll (const UList< Type > &sendData, UList< Type > &recvData, MPI_Datatype datatype, const label comm, label *requestID=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 label comm, label *requestID=nullptr) |
template<class Type > | |
void | gather (const Type *sendData, int sendCount, Type *recvData, int recvCount, MPI_Datatype datatype, const label comm, label *requestID=nullptr) |
template<class Type > | |
void | scatter (const Type *sendData, int sendCount, Type *recvData, int recvCount, MPI_Datatype datatype, const label comm, label *requestID=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 label comm, label *requestID=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 label comm, label *requestID=nullptr) |
Some implementation details for Pstream and/or MPI.
InNamespace Foam::PstreamDetail
Functions to wrap MPI_Bcast, MPI_Allreduce, MPI_Iallreduce etc.
void broadcast0 | ( | Type * | values, |
int | count, | ||
MPI_Datatype | datatype, | ||
const label | comm | ||
) |
Definition at line 36 of file UPstreamWrappingTemplates.C.
void reduce0 | ( | Type * | values, |
int | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | optype, | ||
const label | comm | ||
) |
Definition at line 66 of file UPstreamWrappingTemplates.C.
References Foam::endl(), and Foam::Pout.
void allReduce | ( | Type * | values, |
int | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | optype, | ||
const label | comm, | ||
label * | requestID = nullptr |
||
) |
Definition at line 115 of file UPstreamWrappingTemplates.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::Pout.
void allToAll | ( | const UList< Type > & | sendData, |
UList< Type > & | recvData, | ||
MPI_Datatype | datatype, | ||
const label | comm, | ||
label * | requestID = nullptr |
||
) |
Definition at line 226 of file UPstreamWrappingTemplates.C.
References Foam::abort(), UList< T >::cdata(), UList< T >::data(), UList< T >::deepCopy(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, Foam::Pout, and UList< T >::size().
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 label | comm, | ||
label * | requestID = nullptr |
||
) |
Definition at line 350 of file UPstreamWrappingTemplates.C.
References Foam::abort(), UList< T >::cdata(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, Foam::Pout, and UList< T >::size().
void gather | ( | const Type * | sendData, |
int | sendCount, | ||
Type * | recvData, | ||
int | recvCount, | ||
MPI_Datatype | datatype, | ||
const label | comm, | ||
label * | requestID = nullptr |
||
) |
Definition at line 500 of file UPstreamWrappingTemplates.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::Pout.
void scatter | ( | const Type * | sendData, |
int | sendCount, | ||
Type * | recvData, | ||
int | recvCount, | ||
MPI_Datatype | datatype, | ||
const label | comm, | ||
label * | requestID = nullptr |
||
) |
Definition at line 618 of file UPstreamWrappingTemplates.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::Pout.
void gatherv | ( | const Type * | sendData, |
int | sendCount, | ||
Type * | recvData, | ||
const UList< int > & | recvCounts, | ||
const UList< int > & | recvOffsets, | ||
MPI_Datatype | datatype, | ||
const label | comm, | ||
label * | requestID = nullptr |
||
) |
Definition at line 736 of file UPstreamWrappingTemplates.C.
References Foam::abort(), UList< T >::cdata(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, Foam::Pout, and UList< T >::size().
void scatterv | ( | const Type * | sendData, |
const UList< int > & | sendCounts, | ||
const UList< int > & | sendOffsets, | ||
Type * | recvData, | ||
int | recvCount, | ||
MPI_Datatype | datatype, | ||
const label | comm, | ||
label * | requestID = nullptr |
||
) |
Definition at line 881 of file UPstreamWrappingTemplates.C.
References Foam::abort(), UList< T >::cdata(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, Foam::Pout, and UList< T >::size().