Foam::PstreamDetail Namespace Reference

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)
 

Detailed Description

Some implementation details for Pstream and/or MPI.

InNamespace Foam::PstreamDetail

Functions to wrap MPI_Bcast, MPI_Allreduce, MPI_Iallreduce etc.

Source files

Function Documentation

◆ broadcast0()

void broadcast0 ( Type *  values,
int  count,
MPI_Datatype  datatype,
const label  comm 
)

Definition at line 36 of file UPstreamWrappingTemplates.C.

◆ reduce0()

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.

Here is the call graph for this function:

◆ allReduce()

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.

Here is the call graph for this function:

◆ allToAll()

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().

Here is the call graph for this function:

◆ allToAllv()

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().

Here is the call graph for this function:

◆ gather()

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.

Here is the call graph for this function:

◆ scatter()

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.

Here is the call graph for this function:

◆ gatherv()

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().

Here is the call graph for this function:

◆ scatterv()

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().

Here is the call graph for this function: