KaMPIng 0.2.1
(Near) zero-overhead MPI wrapper for C++
Loading...
Searching...
No Matches
mpi_ops.hpp File Reference

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"
Include dependency graph for mpi_ops.hpp:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

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.