Foam::PstreamDetail Namespace Reference

Implementation details for UPstream/Pstream/MPI etc. More...

Functions

template<class Type >
bool broadcast (Type *values, int count, MPI_Datatype datatype, const int communicator)
 
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 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)
 

Detailed Description

Implementation details for UPstream/Pstream/MPI etc.

Function Documentation

◆ broadcast()

◆ reduce()

void Foam::PstreamDetail::reduce ( const Type *  sendData,
Type *  values,
int  count,
MPI_Datatype  datatype,
MPI_Op  optype,
const int  communicator,
UPstream::Request req = nullptr 
)

◆ allReduce()

void Foam::PstreamDetail::allReduce ( Type *  values,
int  count,
MPI_Datatype  datatype,
MPI_Op  optype,
const int  communicator,
UPstream::Request req = nullptr 
)

◆ allToAll()

void Foam::PstreamDetail::allToAll ( const UList< Type > &  sendData,
UList< Type > &  recvData,
MPI_Datatype  datatype,
const int  communicator,
UPstream::Request req = nullptr 
)

◆ allToAllv()

void Foam::PstreamDetail::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 
)

◆ allToAllConsensus() [1/2]

void Foam::PstreamDetail::allToAllConsensus ( const UList< Type > &  sendData,
UList< Type > &  recvData,
MPI_Datatype  datatype,
const int  tag,
const int  communicator 
)

◆ allToAllConsensus() [2/2]

void Foam::PstreamDetail::allToAllConsensus ( const Map< Type > &  sendData,
Map< Type > &  recvData,
MPI_Datatype  datatype,
const int  tag,
const int  communicator 
)

◆ gather()

void Foam::PstreamDetail::gather ( const Type *  sendData,
Type *  recvData,
int  count,
MPI_Datatype  datatype,
const int  communicator,
UPstream::Request req = nullptr 
)

◆ scatter()

void Foam::PstreamDetail::scatter ( const Type *  sendData,
Type *  recvData,
int  count,
MPI_Datatype  datatype,
const int  communicator,
UPstream::Request req = nullptr 
)

Referenced by GAMGAgglomeration::prolongField().

Here is the caller graph for this function:

◆ gatherv()

void Foam::PstreamDetail::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 
)

◆ scatterv()

void Foam::PstreamDetail::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 
)

◆ allGather()

void Foam::PstreamDetail::allGather ( Type *  allData,
int  count,
MPI_Datatype  datatype,
const int  communicator,
UPstream::Request req = nullptr 
)