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