From 51c76e8f24032bb3f4523d37f89c99b9449b911c Mon Sep 17 00:00:00 2001 From: Marco Feder Date: Sat, 15 Jul 2023 21:01:36 +0200 Subject: [PATCH] Remove duplicate ranks when ArborX is available --- source/grid/grid_tools.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/source/grid/grid_tools.cc b/source/grid/grid_tools.cc index 03f8dc3dd3..6d84bbd0ed 100644 --- a/source/grid/grid_tools.cc +++ b/source/grid/grid_tools.cc @@ -5981,9 +5981,16 @@ namespace GridTools query_bounding_boxes); const auto &[indices_ranks, offsets] = distributed_tree.query(bb_intersect); + for (unsigned long int i = 0; i < offsets.size() - 1; ++i) - for (int j = offsets[i]; j < offsets[i + 1]; ++j) - ranks_and_indices.emplace_back(indices_ranks[j].second, i); + { + std::set my_ranks; + for (int j = offsets[i]; j < offsets[i + 1]; ++j) + my_ranks.insert(indices_ranks[j].second); + + for (const auto rank : my_ranks) + ranks_and_indices.emplace_back(rank, i); + } } else { -- 2.39.5