From 2f65b85e09c97305320198e84720fafdf387f801 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Wed, 9 Oct 2024 17:33:42 +0200
Subject: [PATCH] Few code clean-up

---
 src/mesh/ConnectivityDispatcher.cpp | 136 +++++++++++++++-------------
 src/utils/Partitioner.cpp           |   3 +-
 2 files changed, 73 insertions(+), 66 deletions(-)

diff --git a/src/mesh/ConnectivityDispatcher.cpp b/src/mesh/ConnectivityDispatcher.cpp
index 65326b56b..c78682184 100644
--- a/src/mesh/ConnectivityDispatcher.cpp
+++ b/src/mesh/ConnectivityDispatcher.cpp
@@ -28,17 +28,17 @@ ConnectivityDispatcher<Dimension>::_buildNewOwner()
     using ItemId = ItemIdT<item_type>;
     ItemValue<int, item_type> item_new_owner(m_connectivity);
     parallel_for(
-      item_new_owner.numberOfItems(), PUGS_LAMBDA(const ItemId& l) {
-        const auto& item_to_cell = item_to_cell_matrix[l];
-        CellId Jmin              = item_to_cell[0];
-
-        for (size_t j = 1; j < item_to_cell.size(); ++j) {
-          const CellId J = item_to_cell[j];
-          if (cell_number[J] < cell_number[Jmin]) {
-            Jmin = J;
+      item_new_owner.numberOfItems(), PUGS_LAMBDA(const ItemId& item_id) {
+        const auto& item_to_cell  = item_to_cell_matrix[item_id];
+        CellId min_number_cell_id = item_to_cell[0];
+
+        for (size_t i_cell = 1; i_cell < item_to_cell.size(); ++i_cell) {
+          const CellId cell_id = item_to_cell[i_cell];
+          if (cell_number[cell_id] < cell_number[min_number_cell_id]) {
+            min_number_cell_id = cell_id;
           }
         }
-        item_new_owner[l] = cell_new_owner[Jmin];
+        item_new_owner[item_id] = cell_new_owner[min_number_cell_id];
       });
 
     synchronize(item_new_owner);
@@ -72,22 +72,22 @@ ConnectivityDispatcher<Dimension>::_buildItemListToSend()
 
     std::vector<std::vector<CellId>> cell_vector_to_send_by_proc(parallel::size());
     Array<bool> send_to_rank(parallel::size());
-    for (CellId j = 0; j < m_connectivity.numberOfCells(); ++j) {
+    for (CellId cell_id = 0; cell_id < m_connectivity.numberOfCells(); ++cell_id) {
       send_to_rank.fill(false);
-      const auto& cell_to_node = cell_to_node_matrix[j];
-
-      for (size_t R = 0; R < cell_to_node.size(); ++R) {
-        const NodeId& r          = cell_to_node[R];
-        const auto& node_to_cell = node_to_cell_matrix[r];
-        for (size_t K = 0; K < node_to_cell.size(); ++K) {
-          const CellId& k                 = node_to_cell[K];
-          send_to_rank[cell_new_owner[k]] = true;
+      const auto& cell_to_node = cell_to_node_matrix[cell_id];
+
+      for (size_t i_node = 0; i_node < cell_to_node.size(); ++i_node) {
+        const NodeId& node_id    = cell_to_node[i_node];
+        const auto& node_to_cell = node_to_cell_matrix[node_id];
+        for (size_t i_node_cell = 0; i_node_cell < node_to_cell.size(); ++i_node_cell) {
+          const CellId& node_cell_id                 = node_to_cell[i_node_cell];
+          send_to_rank[cell_new_owner[node_cell_id]] = true;
         }
       }
 
-      for (size_t k = 0; k < send_to_rank.size(); ++k) {
-        if (send_to_rank[k]) {
-          cell_vector_to_send_by_proc[k].push_back(j);
+      for (size_t i_rank = 0; i_rank < send_to_rank.size(); ++i_rank) {
+        if (send_to_rank[i_rank]) {
+          cell_vector_to_send_by_proc[i_rank].push_back(cell_id);
         }
       }
     }
@@ -110,11 +110,11 @@ ConnectivityDispatcher<Dimension>::_buildItemListToSend()
       Array<bool> tag(m_connectivity.template numberOf<item_type>());
       tag.fill(false);
       std::vector<ItemId> item_id_vector;
-      for (size_t j = 0; j < cell_list_to_send_by_proc[i_rank].size(); ++j) {
-        const CellId& cell_id          = cell_list_to_send_by_proc[i_rank][j];
+      for (size_t i_cell = 0; i_cell < cell_list_to_send_by_proc[i_rank].size(); ++i_cell) {
+        const CellId& cell_id          = cell_list_to_send_by_proc[i_rank][i_cell];
         const auto& cell_sub_item_list = cell_to_sub_item_matrix[cell_id];
-        for (size_t r = 0; r < cell_sub_item_list.size(); ++r) {
-          const ItemId& item_id = cell_sub_item_list[r];
+        for (size_t i_item = 0; i_item < cell_sub_item_list.size(); ++i_item) {
+          const ItemId& item_id = cell_sub_item_list[i_item];
           if (not tag[item_id]) {
             item_id_vector.push_back(item_id);
             tag[item_id] = true;
@@ -155,9 +155,9 @@ ConnectivityDispatcher<Dimension>::_gatherFrom(const ItemValue<DataType, item_ty
   gathered_array = Array<std::remove_const_t<DataType>>(this->_dispatchedInfo<item_type>().m_number_to_id_map.size());
   for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
     Assert(recv_id_correspondance_by_proc[i_rank].size() == recv_item_data_by_proc[i_rank].size());
-    for (size_t r = 0; r < recv_id_correspondance_by_proc[i_rank].size(); ++r) {
-      const auto& item_id     = recv_id_correspondance_by_proc[i_rank][r];
-      gathered_array[item_id] = recv_item_data_by_proc[i_rank][r];
+    for (size_t i_item = 0; i_item < recv_id_correspondance_by_proc[i_rank].size(); ++i_item) {
+      const auto& item_id     = recv_id_correspondance_by_proc[i_rank][i_item];
+      gathered_array[item_id] = recv_item_data_by_proc[i_rank][i_item];
     }
   }
 }
@@ -180,11 +180,11 @@ ConnectivityDispatcher<Dimension>::_gatherFrom(
 
   for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
     std::vector<MutableDataType> data_by_item_vector;
-    for (size_t j = 0; j < item_list_to_send_by_proc[i_rank].size(); ++j) {
-      const ItemId& item_id = item_list_to_send_by_proc[i_rank][j];
+    for (size_t i_item = 0; i_item < item_list_to_send_by_proc[i_rank].size(); ++i_item) {
+      const ItemId& item_id = item_list_to_send_by_proc[i_rank][i_item];
       const auto& item_data = data_to_gather.itemArray(item_id);
-      for (size_t l = 0; l < item_data.size(); ++l) {
-        data_by_item_vector.push_back(item_data[l]);
+      for (size_t i_data = 0; i_data < item_data.size(); ++i_data) {
+        data_by_item_vector.push_back(item_data[i_data]);
       }
     }
     data_to_send_by_proc[i_rank] = convert_to_array(data_by_item_vector);
@@ -211,13 +211,13 @@ ConnectivityDispatcher<Dimension>::_gatherFrom(
 
   gathered_array = Array<std::remove_const_t<DataType>>(recv_array_size);
   {
-    size_t l = 0;
+    size_t i_value = 0;
     for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
-      for (size_t j = 0; j < recv_data_to_gather_by_proc[i_rank].size(); ++j) {
-        gathered_array[l++] = recv_data_to_gather_by_proc[i_rank][j];
+      for (size_t i_rank_value = 0; i_rank_value < recv_data_to_gather_by_proc[i_rank].size(); ++i_rank_value) {
+        gathered_array[i_value++] = recv_data_to_gather_by_proc[i_rank][i_rank_value];
       }
     }
-    Assert(gathered_array.size() == l);
+    Assert(gathered_array.size() == i_value);
   }
 }
 
@@ -229,8 +229,8 @@ ConnectivityDispatcher<Dimension>::_buildCellNumberIdMap()
   auto& cell_number_id_map            = this->_dispatchedInfo<ItemType::cell>().m_number_to_id_map;
   for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
     CellId cell_id = 0;
-    for (size_t i = 0; i < recv_cell_number_by_proc[i_rank].size(); ++i) {
-      const int cell_number     = recv_cell_number_by_proc[i_rank][i];
+    for (size_t i_rank_cell = 0; i_rank_cell < recv_cell_number_by_proc[i_rank].size(); ++i_rank_cell) {
+      const int cell_number     = recv_cell_number_by_proc[i_rank][i_rank_cell];
       auto [iterator, inserted] = cell_number_id_map.insert(std::make_pair(cell_number, cell_id));
       if (inserted)
         ++cell_id;
@@ -252,8 +252,9 @@ ConnectivityDispatcher<Dimension>::_buildSubItemNumberToIdMap()
   auto& sub_item_number_id_map = this->_dispatchedInfo<ItemOfItemT::sub_item_type>().m_number_to_id_map;
   for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
     int sub_item_id = 0;
-    for (size_t i = 0; i < cell_sub_item_number_to_recv_by_proc[i_rank].size(); ++i) {
-      int sub_item_number       = cell_sub_item_number_to_recv_by_proc[i_rank][i];
+    for (size_t i_rank_sub_item = 0; i_rank_sub_item < cell_sub_item_number_to_recv_by_proc[i_rank].size();
+         ++i_rank_sub_item) {
+      int sub_item_number       = cell_sub_item_number_to_recv_by_proc[i_rank][i_rank_sub_item];
       auto [iterator, inserted] = sub_item_number_id_map.insert(std::make_pair(sub_item_number, sub_item_id));
       if (inserted)
         sub_item_id++;
@@ -273,8 +274,9 @@ ConnectivityDispatcher<Dimension>::_buildNumberOfSubItemPerItemToRecvByProc()
 
   using ItemId = ItemIdT<SubItemOfItemT::item_type>;
   parallel_for(
-    number_of_sub_item_per_item.numberOfItems(),
-    PUGS_LAMBDA(const ItemId& j) { number_of_sub_item_per_item[j] = item_to_sub_item_matrix[j].size(); });
+    number_of_sub_item_per_item.numberOfItems(), PUGS_LAMBDA(const ItemId& item_id) {
+      number_of_sub_item_per_item[item_id] = item_to_sub_item_matrix[item_id].size();
+    });
 
   this->_dispatchedInfo<SubItemOfItemT>().m_number_of_sub_item_per_item_to_recv_by_proc =
     this->exchange(number_of_sub_item_per_item);
@@ -299,11 +301,11 @@ ConnectivityDispatcher<Dimension>::_buildSubItemNumbersToRecvByProc()
       const auto& item_list_to_send_by_proc = this->_dispatchedInfo<SubItemOfItemT::item_type>().m_list_to_send_by_proc;
 
       std::vector<int> sub_item_numbers_by_item_vector;
-      for (size_t j = 0; j < item_list_to_send_by_proc[i_rank].size(); ++j) {
-        const ItemId& item_id     = item_list_to_send_by_proc[i_rank][j];
+      for (size_t i_rank_item = 0; i_rank_item < item_list_to_send_by_proc[i_rank].size(); ++i_rank_item) {
+        const ItemId& item_id     = item_list_to_send_by_proc[i_rank][i_rank_item];
         const auto& sub_item_list = item_to_sub_item_matrix[item_id];
-        for (size_t r = 0; r < sub_item_list.size(); ++r) {
-          const SubItemId& sub_item_id = sub_item_list[r];
+        for (size_t i_sub_item = 0; i_sub_item < sub_item_list.size(); ++i_sub_item) {
+          const SubItemId& sub_item_id = sub_item_list[i_sub_item];
           sub_item_numbers_by_item_vector.push_back(sub_item_number[sub_item_id]);
         }
       }
@@ -351,11 +353,14 @@ ConnectivityDispatcher<Dimension>::_buildItemToSubItemDescriptor()
   std::vector<std::vector<unsigned int>> item_to_subitem_legacy;
   size_t number_of_node_by_cell = 0;
   for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
-    int l = 0;
-    for (size_t i = 0; i < item_list_to_recv_size_by_proc[i_rank]; ++i) {
+    int i_sub_item = 0;
+    for (size_t i_rank_item = 0; i_rank_item < item_list_to_recv_size_by_proc[i_rank]; ++i_rank_item) {
       std::vector<unsigned int> sub_item_vector;
-      for (int k = 0; k < number_of_sub_item_per_item_to_recv_by_proc[i_rank][i]; ++k) {
-        const auto& searched_sub_item_id = sub_item_number_id_map.find(recv_item_of_item_numbers_by_proc[i_rank][l++]);
+      for (int i_rank_sub_item_per_item = 0;
+           i_rank_sub_item_per_item < number_of_sub_item_per_item_to_recv_by_proc[i_rank][i_rank_item];
+           ++i_rank_sub_item_per_item) {
+        const auto& searched_sub_item_id =
+          sub_item_number_id_map.find(recv_item_of_item_numbers_by_proc[i_rank][i_sub_item++]);
         Assert(searched_sub_item_id != sub_item_number_id_map.end());
         sub_item_vector.push_back(searched_sub_item_id->second);
       }
@@ -371,14 +376,16 @@ ConnectivityDispatcher<Dimension>::_buildItemToSubItemDescriptor()
   item_to_subitem_list.fill(10000000);
 
   item_to_subitem_row_map[0] = 0;
-  for (size_t i = 0; i < item_to_subitem_legacy.size(); ++i) {
-    item_to_subitem_row_map[i + 1] = item_to_subitem_row_map[i] + item_to_subitem_legacy[i].size();
+  for (size_t i_rank = 0; i_rank < item_to_subitem_legacy.size(); ++i_rank) {
+    item_to_subitem_row_map[i_rank + 1] = item_to_subitem_row_map[i_rank] + item_to_subitem_legacy[i_rank].size();
   }
-  size_t l = 0;
-  for (size_t i = 0; i < item_to_subitem_legacy.size(); ++i) {
-    const auto& subitem_list = item_to_subitem_legacy[i];
-    for (size_t j = 0; j < subitem_list.size(); ++j, ++l) {
-      item_to_subitem_list[l] = subitem_list[j];
+  {
+    size_t i_sub_item = 0;
+    for (size_t i_rank = 0; i_rank < item_to_subitem_legacy.size(); ++i_rank) {
+      const auto& subitem_list = item_to_subitem_legacy[i_rank];
+      for (size_t i_rank_sub_item = 0; i_rank_sub_item < subitem_list.size(); ++i_rank_sub_item, ++i_sub_item) {
+        item_to_subitem_list[i_sub_item] = subitem_list[i_rank_sub_item];
+      }
     }
   }
 
@@ -401,7 +408,8 @@ ConnectivityDispatcher<Dimension>::_buildRecvItemIdCorrespondanceByProc()
     Array<int> send_item_number(item_list_to_send_by_proc[i_rank].size());
     const Array<const ItemId> send_item_id = item_list_to_send_by_proc[i_rank];
     parallel_for(
-      send_item_number.size(), PUGS_LAMBDA(size_t j) { send_item_number[j] = item_number[send_item_id[j]]; });
+      send_item_number.size(),
+      PUGS_LAMBDA(size_t i_item) { send_item_number[i_item] = item_number[send_item_id[i_item]]; });
     send_item_number_by_proc[i_rank] = send_item_number;
   }
 
@@ -415,11 +423,11 @@ ConnectivityDispatcher<Dimension>::_buildRecvItemIdCorrespondanceByProc()
   const auto& item_number_to_id_map = this->_dispatchedInfo<item_type>().m_number_to_id_map;
   for (size_t i_rank = 0; i_rank < item_list_to_recv_size_by_proc.size(); ++i_rank) {
     Array<ItemId> item_id_correspondance(item_list_to_recv_size_by_proc[i_rank]);
-    for (size_t l = 0; l < item_list_to_recv_size_by_proc[i_rank]; ++l) {
-      const int& recv_item_number  = recv_item_number_by_proc[i_rank][l];
+    for (size_t i_rank_item = 0; i_rank_item < item_list_to_recv_size_by_proc[i_rank]; ++i_rank_item) {
+      const int& recv_item_number  = recv_item_number_by_proc[i_rank][i_rank_item];
       const auto& searched_item_id = item_number_to_id_map.find(recv_item_number);
       Assert(searched_item_id != item_number_to_id_map.end());
-      item_id_correspondance[l] = searched_item_id->second;
+      item_id_correspondance[i_rank_item] = searched_item_id->second;
     }
     recv_item_id_correspondance_by_proc[i_rank] = item_id_correspondance;
   }
@@ -572,9 +580,9 @@ ConnectivityDispatcher<Dimension>::_buildItemReferenceList()
           this->_dispatchedInfo<item_type>().m_recv_id_correspondance_by_proc;
         std::vector<block_type> item_refs(m_new_descriptor.template itemNumberVector<item_type>().size());
         for (size_t i_rank = 0; i_rank < parallel::size(); ++i_rank) {
-          for (size_t r = 0; r < recv_item_refs_by_proc[i_rank].size(); ++r) {
-            const ItemId& item_id = recv_item_id_correspondance_by_proc[i_rank][r];
-            item_refs[item_id]    = recv_item_refs_by_proc[i_rank][r];
+          for (size_t i_item = 0; i_item < recv_item_refs_by_proc[i_rank].size(); ++i_item) {
+            const ItemId& item_id = recv_item_id_correspondance_by_proc[i_rank][i_item];
+            item_refs[item_id]    = recv_item_refs_by_proc[i_rank][i_item];
           }
         }
 
diff --git a/src/utils/Partitioner.cpp b/src/utils/Partitioner.cpp
index 85e13c22d..d86f798a3 100644
--- a/src/utils/Partitioner.cpp
+++ b/src/utils/Partitioner.cpp
@@ -72,10 +72,9 @@ Partitioner::partition(const CRSGraph& graph)
       throw UnexpectedError("Metis Error");
     }
     // LCOV_EXCL_STOP
-
-    MPI_Comm_free(&parmetis_comm);
   }
 
+  MPI_Comm_free(&parmetis_comm);
   MPI_Group_free(&mesh_group);
 
   return part;
-- 
GitLab