PstreamReduceOps.H File Reference

Inter-processor communication reduction functions. More...

Include dependency graph for PstreamReduceOps.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Foam
 Namespace for OpenFOAM.
 

Macros

#define Pstream_CommonReductions(Native)
 
#define Pstream_FloatReductions(Native)
 

Functions

template<class T , class BinaryOp >
void reduce (const List< UPstream::commsStruct > &comms, T &value, const BinaryOp &bop, const int tag, const label comm)
 
template<class T , class BinaryOp >
void reduce (T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 
template<class T , class BinaryOp >
T returnReduce (const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (copy) and return value. More...
 
template<class T >
void sumReduce (T &value, label &count, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 
template<class T , class BinaryOp >
void reduce (T values[], const int size, const BinaryOp &, const int tag, const label comm)
 
template<class T , class BinaryOp >
void reduce (T &Value, const BinaryOp &, const int tag, const label comm, label &request)
 
template<class T , class BinaryOp >
void reduce (T values[], const int size, const BinaryOp &, const int tag, const label comm, label &request)
 
void reduce (bool &value, const andOp< bool > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Logical (and) reduction (cf. MPI AllReduce) More...
 
void reduce (bool &value, const orOp< bool > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Logical (or) reduction (cf. MPI AllReduce) More...
 
void reduce (int32_t &value, const minOp< int32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (min) single int32_t value. More...
 
void reduce (int32_t &value, const maxOp< int32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (max) single int32_t value. More...
 
void reduce (int32_t &value, const sumOp< int32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) single int32_t value. More...
 
void reduce (int32_t values[], const int size, const sumOp< int32_t > &, const int tag, const label comm)
 Reduce (sum) multiple int32_t values (identical size all procs!) More...
 
template<unsigned N>
void reduce (FixedList< int32_t, N > &values, const sumOp< int32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) multiple int32_t values. More...
 
void reduce (int64_t &value, const minOp< int64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (min) single int64_t value. More...
 
void reduce (int64_t &value, const maxOp< int64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (max) single int64_t value. More...
 
void reduce (int64_t &value, const sumOp< int64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) single int64_t value. More...
 
void reduce (int64_t values[], const int size, const sumOp< int64_t > &, const int tag, const label comm)
 Reduce (sum) multiple int64_t values (identical size all procs!) More...
 
template<unsigned N>
void reduce (FixedList< int64_t, N > &values, const sumOp< int64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) multiple int64_t values. More...
 
void reduce (uint32_t &value, const minOp< uint32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (min) single uint32_t value. More...
 
void reduce (uint32_t &value, const maxOp< uint32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (max) single uint32_t value. More...
 
void reduce (uint32_t &value, const sumOp< uint32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) single uint32_t value. More...
 
void reduce (uint32_t values[], const int size, const sumOp< uint32_t > &, const int tag, const label comm)
 Reduce (sum) multiple uint32_t values (identical size all procs!) More...
 
template<unsigned N>
void reduce (FixedList< uint32_t, N > &values, const sumOp< uint32_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) multiple uint32_t values. More...
 
void reduce (uint64_t &value, const minOp< uint64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (min) single uint64_t value. More...
 
void reduce (uint64_t &value, const maxOp< uint64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (max) single uint64_t value. More...
 
void reduce (uint64_t &value, const sumOp< uint64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) single uint64_t value. More...
 
void reduce (uint64_t values[], const int size, const sumOp< uint64_t > &, const int tag, const label comm)
 Reduce (sum) multiple uint64_t values (identical size all procs!) More...
 
template<unsigned N>
void reduce (FixedList< uint64_t, N > &values, const sumOp< uint64_t > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) multiple uint64_t values. More...
 
void reduce (float &value, const minOp< float > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (min) single float value. More...
 
void reduce (float &value, const maxOp< float > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (max) single float value. More...
 
void reduce (float &value, const sumOp< float > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) single float value. More...
 
void reduce (float values[], const int size, const sumOp< float > &, const int tag, const label comm)
 Reduce (sum) multiple float values (identical size all procs!) More...
 
template<unsigned N>
void reduce (FixedList< float, N > &values, const sumOp< float > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) multiple float values. More...
 
void reduce (double &value, const minOp< double > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (min) single double value. More...
 
void reduce (double &value, const maxOp< double > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (max) single double value. More...
 
void reduce (double &value, const sumOp< double > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) single double value. More...
 
void reduce (double values[], const int size, const sumOp< double > &, const int tag, const label comm)
 Reduce (sum) multiple double values (identical size all procs!) More...
 
template<unsigned N>
void reduce (FixedList< double, N > &values, const sumOp< double > &, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Reduce (sum) multiple double values. More...
 
void sumReduce (float &value, label &count, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Sum of both float value and count (for averaging) More...
 
void reduce (float &value, const sumOp< float > &, const int tag, const label comm, label &requestID)
 Non-blocking reduce (sum) single float value. Sets request. More...
 
void reduce (float values[], const int size, const sumOp< float > &, const int tag, const label comm, label &requestID)
 Non-blocking reduce (sum) multiple float values. Sets request. More...
 
void sumReduce (double &value, label &count, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 Sum of both double value and count (for averaging) More...
 
void reduce (double &value, const sumOp< double > &, const int tag, const label comm, label &requestID)
 Non-blocking reduce (sum) single double value. Sets request. More...
 
void reduce (double values[], const int size, const sumOp< double > &, const int tag, const label comm, label &requestID)
 Non-blocking reduce (sum) multiple double values. Sets request. More...
 

Detailed Description

Inter-processor communication reduction functions.

Original source file PstreamReduceOps.H

InNamespace Foam

Definition in file PstreamReduceOps.H.

Macro Definition Documentation

◆ Pstream_CommonReductions

#define Pstream_CommonReductions (   Native)

Definition at line 199 of file PstreamReduceOps.H.

◆ Pstream_FloatReductions

#define Pstream_FloatReductions (   Native)
Value:
\ \
void sumReduce \
( \
Native& value, \
label& count, \
const int tag = UPstream::msgType(), \
const label comm = UPstream::worldComm \
); \
\ \
void reduce \
( \
Native& value, \
const sumOp<Native>&, \
const int tag, \
const label comm, \
label& requestID \
); \
\ \
void reduce \
( \
Native values[], \
const int size, \
const sumOp<Native>&, \
const int tag, \
const label comm, \
label& requestID \
);
reduce(hasMovingMesh, orOp< bool >())

Definition at line 267 of file PstreamReduceOps.H.