KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
|
Communicator that can reproducibly reduce an array of a fixed size according to a binary tree scheme. More...
#include <reproducible_reduce.hpp>
Public Member Functions | |
ReproducibleCommunicator (Communicator const &comm, std::map< size_t, size_t > const start_indices, size_t const region_begin, size_t const region_size) | |
Create a new reproducible communicator. | |
template<typename... Args> | |
T const | reproducible_reduce (Args... args) |
Reproducible reduction according to pre-initialized scheme. The following parameters are required: | |
Communicator that can reproducibly reduce an array of a fixed size according to a binary tree scheme.
T | Type of the elements that are to be reduced. |
DefaultContainerType | Container type of the original communicator. |
|
inline |
Create a new reproducible communicator.
Comm | Type of the communicator. |
comm | Underlying communicator to transport messages. |
start_indices | Map from global array indices onto ranks on which they are held. Must have no gaps, start at index 0 and contain a sentinel element at the end. |
region_begin | Index of the first element that is held locally. |
region_size | Number of elements assigned to the current rank. |
|
inline |
Reproducible reduction according to pre-initialized scheme. The following parameters are required:
args | All required arguments as described above. |