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