KaMPIng 0.1.0
(Near) zero-overhead C++ MPI bindings.
Loading...
Searching...
No Matches
kamping::ops Namespace Reference

this namespace contains all builtin operations supported by MPI. More...

Classes

struct  null
 builtin null operation (aka MPI_OP_NULL) More...
 

Typedefs

template<typename T = void>
using max = kamping::internal::max_impl<T>
 builtin maximum operation (aka MPI_MAX)
 
template<typename T = void>
using min = kamping::internal::min_impl<T>
 builtin minimum operation (aka MPI_MIN)
 
template<typename T = void>
using plus = std::plus<T>
 builtin summation operation (aka MPI_SUM)
 
template<typename T = void>
using multiplies = std::multiplies<T>
 builtin multiplication operation (aka MPI_PROD)
 
template<typename T = void>
using logical_and = std::logical_and<T>
 builtin logical and operation (aka MPI_LAND)
 
template<typename T = void>
using bit_and = std::bit_and<T>
 builtin bitwise and operation (aka MPI_BAND)
 
template<typename T = void>
using logical_or = std::logical_or<T>
 builtin logical or operation (aka MPI_LOR)
 
template<typename T = void>
using bit_or = std::bit_or<T>
 builtin bitwise or operation (aka MPI_BOR)
 
template<typename T = void>
using logical_xor = kamping::internal::logical_xor_impl<T>
 builtin logical xor operation (aka MPI_LXOR)
 
template<typename T = void>
using bit_xor = std::bit_xor<T>
 builtin bitwise xor operation (aka MPI_BXOR)
 

Variables

constexpr internal::commutative_tag commutative {}
 global tag for commutativity
 
constexpr internal::non_commutative_tag non_commutative {}
 global tag for non-commutativity
 

Detailed Description

this namespace contains all builtin operations supported by MPI.

You can either use them by passing their STL counterparts like std::plus<>, std::multiplies<> etc. or using the aliases kamping::ops::plus, kamping::ops::multiplies, kamping::ops::max(), ... You can either use them without a template parameter (std::plus<>) or explicitly specify the type (std::plus<int>). In the latter case, the type must match the datatype of the buffer the operation shall be applied to.