From 0764ee9a62e95594456ed7866f29c28f1b35e2d1 Mon Sep 17 00:00:00 2001
From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de>
Date: Fri, 1 May 2020 13:38:03 +0200
Subject: [PATCH] fix per-thread array creation

use omp_get_max_threads outside parallel environment, not
omp_get_num_threads (which is 1).
---
 cpp/particles/p2p_distr_mpi.hpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/cpp/particles/p2p_distr_mpi.hpp b/cpp/particles/p2p_distr_mpi.hpp
index e06dc894..69995c9e 100644
--- a/cpp/particles/p2p_distr_mpi.hpp
+++ b/cpp/particles/p2p_distr_mpi.hpp
@@ -279,7 +279,7 @@ public:
                        real_number particles_positions[],
                        std::unique_ptr<real_number[]> particles_current_rhs[], const int nb_rhs,
                        partsize_t inout_index_particles[]){
-        TIMEZONE("compute_distr");
+        TIMEZONE("p2p_distr_mpi::compute_distr");
 
         // Some processes might not be involved
         if(nb_processes_involved <= my_rank){
@@ -558,8 +558,8 @@ public:
 
         lock_free_bool_array cells_locker(512);
 
-        std::vector<std::unique_ptr<computer_class>> computer_for_all_threads(omp_get_num_threads()-1);
-        for(int idxThread = 1 ; idxThread < omp_get_num_threads() ; ++idxThread){
+        std::vector<std::unique_ptr<computer_class>> computer_for_all_threads(omp_get_max_threads()-1);
+        for(int idxThread = 1 ; idxThread < omp_get_max_threads() ; ++idxThread){
             computer_for_all_threads[idxThread-1].reset(new computer_class(in_computer));
         }
 
-- 
GitLab