|
KaMPIng 0.2.0
Flexible and (near) zero-overhead C++ bindings for MPI
|
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 | |
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.