waLBerla 7.2
Loading...
Searching...
No Matches
Reduce.h File Reference

Detailed Description

#include "core/Abort.h"
#include "core/DataTypes.h"
#include "core/debug/Debug.h"
#include "core/mpi/MPIWrapper.h"
#include "core/mpi/Operation.h"
#include "BufferDataTypeExtensions.h"
#include "core/math/Vector3.h"
#include <type_traits>
#include <vector>

Namespaces

namespace  walberla
 Storage for detected contacts which can be used to perform actions for all contacts, e.g.
 
namespace  walberla::mpi
 

Functions

template<typename T >
void walberla::mpi::reduceInplace (T &value, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a value over all processes in-place.
 
void walberla::mpi::reduceInplace (bool &value, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a boolean value over all processes in-place.
 
template<typename T >
walberla::mpi::reduce (const T value, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a value over all processes.
 
bool walberla::mpi::reduce (const bool value, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a boolean value over all processes.
 
template<typename T >
void walberla::mpi::reduceInplace (std::vector< T > &values, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces values in a std::vector<T> over all processes in-place.
 
void walberla::mpi::reduceInplace (std::vector< bool > &values, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces boolean values in a std::vector<bool> over all processes in-place.
 
template<typename T >
void walberla::mpi::reduceInplace (math::Vector3< T > &values, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces values in a math::Vector3<T> over all processes in-place.
 
void walberla::mpi::reduceInplace (math::Vector3< bool > &values, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces booleans in a math::Vector3 over all processes in-place.
 
template<typename T >
math::Vector3< T > walberla::mpi::reduce (const math::Vector3< T > &values, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces values in a math::Vector3<T> over all processes.
 
math::Vector3< bool > walberla::mpi::reduce (const math::Vector3< bool > &values, Operation operation, int recvRank=0, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces boolean values in a Vector3 over all processes.
 
template<typename T >
walberla::mpi::allReduce (const T &value, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a value over all processes.
 
bool walberla::mpi::allReduce (const bool value, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a boolean value over all processes.
 
template<typename T >
void walberla::mpi::allReduceInplace (T &value, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a value over all processes in-place.
 
void walberla::mpi::allReduceInplace (bool &value, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces a boolean value over all processes in-place.
 
template<typename T >
void walberla::mpi::allReduceInplace (std::vector< T > &values, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces values in a std::vector<T> over all processes in-place.
 
void walberla::mpi::allReduceInplace (std::vector< bool > &bools, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces values in a std::vector<bool> over all processes in-place.
 
template<typename T >
void walberla::mpi::allReduceInplace (math::Vector3< T > &values, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces values in math::Vector3<T> over all processes in-place.
 
void walberla::mpi::allReduceInplace (math::Vector3< bool > &bools, Operation operation, MPI_Comm comm=MPI_COMM_WORLD)
 Reduces boolean values in math::Vector3 over all processes in-place.