|
Celeritas 0.7.0-dev.169+develop.bdc0041f6
|
MPI parallel functionality. More...
#include <algorithm>#include <type_traits>#include "corecel/Config.hh"#include "corecel/Assert.hh"#include "corecel/Macros.hh"#include "corecel/cont/Span.hh"#include "MpiCommunicator.hh"#include "detail/MpiType.hh"
Enumerations | |
| enum class | celeritas::Operation { min , max , sum , prod , size_ } |
| MPI reduction operation to perform on the data. | |
Functions | |
| void | celeritas::barrier (MpiCommunicator const &comm) |
| Wait for all processes in this communicator to reach the barrier. | |
| template<class T , std::size_t N> | |
| void | celeritas::allreduce (MpiCommunicator const &comm, Operation op, Span< T const, N > src, Span< T, N > dst) |
| All-to-all reduction on the data from src to dst. | |
| template<class T , std::size_t N> | |
| void | celeritas::allreduce (MpiCommunicator const &comm, Operation op, Span< T, N > data) |
| All-to-all reduction on the data, in place. | |
| template<class T , std::enable_if_t< std::is_fundamental< T >::value, bool > = true> | |
| T | celeritas::allreduce (MpiCommunicator const &comm, Operation op, T const src) |
| Perform reduction on a fundamental scalar and return the result. | |
MPI parallel functionality.