|
KaMPIng 0.2.1
(Near) zero-overhead MPI wrapper for C++
|
MPI reduction operation wrappers. More...
#include <algorithm>#include <type_traits>#include <mpi.h>#include "kamping/kassert/kassert.hpp"#include "kamping/mpi_datatype.hpp"#include "kamping/types/reduce_ops.hpp"

Go to the source code of this file.
Classes | |
| class | kamping::internal::ReduceOperation< T, Op, Commutative > |
Wraps an operation and translates it to a builtin MPI_Op or constructs a custom operation. More... | |
Namespaces | |
| namespace | kamping::internal |
| Internal namespace marking the code that is not user-facing. | |
MPI reduction operation wrappers.
The functor vocabulary (kamping::ops::), type traits (mpi_operation_traits), ScopedOp, ScopedFunctorOp, and ScopedCallbackOp live in kamping/types/reduce_ops.hpp (the kamping-types module) and are included from there. This file adds ReduceOperation, which selects among these building blocks based on the operation and commutative tag types.