49 PstreamDetail::allReduce(&value, 1, MPI_C_BOOL, MPI_LAND, comm);
63 PstreamDetail::allReduce(&value, 1, MPI_C_BOOL, MPI_LOR, comm);
71#undef Pstream_CommonReductions
72#define Pstream_CommonReductions(Native, TaggedType) \
77 const minOp<Native>&, \
82 PstreamDetail::allReduce<Native> \
84 &value, 1, TaggedType, MPI_MIN, comm \
91 const maxOp<Native>&, \
96 PstreamDetail::allReduce<Native> \
98 &value, 1, TaggedType, MPI_MAX, comm \
105 const sumOp<Native>&, \
110 PstreamDetail::allReduce<Native> \
112 &value, 1, TaggedType, MPI_SUM, comm \
120 const sumOp<Native>&, \
125 PstreamDetail::allReduce<Native> \
127 values, size, TaggedType, MPI_SUM, comm \
139#undef Pstream_CommonReductions
146#undef Pstream_FloatReductions
147#define Pstream_FloatReductions(Native, TaggedType) \
149void Foam::sumReduce \
157 if (UPstream::parRun()) \
161 values[1] = static_cast<Native>(count); \
163 PstreamDetail::allReduce<Native> \
165 values, 2, TaggedType, MPI_SUM, comm \
169 count = static_cast<label>(values[1]); \
176 const sumOp<Native>&, \
182 PstreamDetail::allReduce<Native> \
184 &value, 1, TaggedType, MPI_SUM, comm, &requestID \
192 const sumOp<Native>&, \
198 PstreamDetail::allReduce<Native> \
200 values, size, TaggedType, MPI_SUM, comm, &requestID \
208#undef Pstream_FloatReductions
Inter-processor communication reduction functions.
#define Pstream_FloatReductions(Native, TaggedType)
#define Pstream_CommonReductions(Native, TaggedType)
void reduce(const List< UPstream::commsStruct > &comms, T &value, const BinaryOp &bop, const int tag, const label comm)