From d1823aa44f06ebde14f808b8c16dbc123361840b Mon Sep 17 00:00:00 2001 From: Ben Cumming <bcumming@cscs.ch> Date: Tue, 16 Aug 2016 08:43:32 +0200 Subject: [PATCH] add support for sum reduction to global communication --- src/communication/mpi_global_policy.hpp | 5 +++++ src/communication/serial_global_policy.hpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/communication/mpi_global_policy.hpp b/src/communication/mpi_global_policy.hpp index 0e9ec333..744e5d60 100644 --- a/src/communication/mpi_global_policy.hpp +++ b/src/communication/mpi_global_policy.hpp @@ -38,6 +38,11 @@ struct mpi_global_policy { return nest::mc::mpi::reduce(value, MPI_MAX); } + template <typename T> + static T sum(T value) { + return nest::mc::mpi::reduce(value, MPI_SUM); + } + template < typename T, typename = typename std::enable_if<std::is_integral<T>::value> diff --git a/src/communication/serial_global_policy.hpp b/src/communication/serial_global_policy.hpp index 9af5eae3..11398769 100644 --- a/src/communication/serial_global_policy.hpp +++ b/src/communication/serial_global_policy.hpp @@ -35,6 +35,11 @@ struct serial_global_policy { return value; } + template <typename T> + static T sum(T value) { + return value; + } + template < typename T, typename = typename std::enable_if<std::is_integral<T>::value> -- GitLab