|
KaMPIng 0.2.0
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. |