From 630e7e8aed890ef03f3c1c4ae723b9acfbda2a2a Mon Sep 17 00:00:00 2001 From: Berenger Bramas <Berenger.Bramas@inria.fr> Date: Mon, 4 Nov 2019 16:46:12 +0100 Subject: [PATCH] Debug (forgot to allocate the right array for indexes) --- cpp/particles/p2p_distr_mpi.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cpp/particles/p2p_distr_mpi.hpp b/cpp/particles/p2p_distr_mpi.hpp index e567e86f..274dc8a6 100644 --- a/cpp/particles/p2p_distr_mpi.hpp +++ b/cpp/particles/p2p_distr_mpi.hpp @@ -580,6 +580,7 @@ public: const partsize_t NbParticlesToReceive = descriptor.nbParticlesToExchange; assert(NbParticlesToReceive != -1); assert(descriptor.toCompute == nullptr); + assert(descriptor.indexes == nullptr); if(NbParticlesToReceive){ descriptor.toCompute.reset(new real_number[NbParticlesToReceive*size_particle_positions]); @@ -590,7 +591,7 @@ public: particles_utils::GetMpiType(real_number()), destProc, TAG_POSITION_PARTICLES, current_com, &mpiRequests.back())); - descriptor.toCompute.reset(new real_number[NbParticlesToReceive*size_particle_positions]); + descriptor.indexes.reset(new partsize_t[NbParticlesToReceive]); whatNext.emplace_back(std::pair<Action,int>{COMPUTE_PARTICLES, releasedAction.second}); mpiRequests.emplace_back(); assert(NbParticlesToReceive*size_particle_positions < std::numeric_limits<int>::max()); @@ -615,6 +616,7 @@ public: const partsize_t NbParticlesToReceive = descriptor.nbParticlesToExchange; assert(descriptor.toCompute != nullptr); + assert(descriptor.indexes != nullptr); descriptor.results.reset(new real_number[NbParticlesToReceive*size_particle_rhs]); computer_thread.template init_result_array<size_particle_rhs>(descriptor.results.get(), NbParticlesToReceive); @@ -685,6 +687,7 @@ public: particles_utils::GetMpiType(real_number()), destProc, TAG_RESULT_PARTICLES, current_com, &mpiRequests.back())); delete[] descriptor.toCompute.release(); + delete[] descriptor.indexes.release(); } } ////////////////////////////////////////////////////////////////////// -- GitLab