Skip to content

#2524: Start integrating the new loc repo with VT replacing the location coordinator - #2525

Draft
antoinemeyer5 wants to merge 16 commits into
developfrom
2524-using-loc-repo
Draft

antoinemeyer5 wants to merge 16 commits into
developfrom
2524-using-loc-repo

Conversation

@antoinemeyer5

Copy link
Copy Markdown
Contributor

Fixes #2524

@github-actions

github-actions Bot commented Aug 25, 2026 •

Copy link
Copy Markdown

clang-format output for this changeset:

diff --git a/src/vt/topos/location/location.h b/src/vt/topos/location/location.h
index 706eba2d0..cdea71683 100644
--- a/src/vt/topos/location/location.h
+++ b/src/vt/topos/location/location.h
@@ -151,12 +151,11 @@ struct EntityLocationCoord {
   explicit EntityLocationCoord(
     bool in_anytime_migration, bool in_keep_cache_updated,
     std::size_t in_max_cache_size = ::loc::default_max_cache_size
-  ) : resolver_comm_(this),
+  )
+    : resolver_comm_(this),
       anytime_migration_(in_anytime_migration),
       keep_cache_updated_(in_keep_cache_updated),
-      max_cache_size_(in_max_cache_size)
-  { }
-
+      max_cache_size_(in_max_cache_size) { }
 
   virtual ~EntityLocationCoord() {}
 
diff --git a/src/vt/topos/location/location.impl.h b/src/vt/topos/location/location.impl.h
index 0d78792c4..790307130 100644
--- a/src/vt/topos/location/location.impl.h
+++ b/src/vt/topos/location/location.impl.h
@@ -68,9 +68,8 @@ int LocCommunicator<EntityID>::getRank() const {
 
 template <typename EntityID>
 template <typename Instance>
-auto LocCommunicator<EntityID>::registerInstanceCollective(Instance* instance)
-  -> HandleType<Instance>
-{
+auto LocCommunicator<EntityID>::registerInstanceCollective(Instance* instance
+) -> HandleType<Instance> {
   static_assert(std::is_same_v<Instance, typename OwnerType::ResolverType>);
   vtAssert(owner_ != nullptr, "loc communicator must have an owner");
   vtAssert(instance != nullptr, "loc coordinator must be valid");
@@ -80,15 +79,14 @@ auto LocCommunicator<EntityID>::registerInstanceCollective(Instance* instance)
 template <typename EntityID>
 template <auto Handler, typename... Args>
 void LocCommunicator<EntityID>::send(
-  ::loc::NodeType node, objgroup::proxy::Proxy<OwnerType> handle,
-  Args&&... args
+  ::loc::NodeType node, objgroup::proxy::Proxy<OwnerType> handle, Args&&... args
 ) {
   using Owner = OwnerType;
-  handle[node].template send<
-    &Owner::template locControlHandler<Handler, std::decay_t<Args>...>
-  >(
-    MsgProps().asLocationMsg(), std::forward<Args>(args)...
-  );
+  handle[node]
+    .template send<
+      &Owner::template locControlHandler<Handler, std::decay_t<Args>...>>(
+      MsgProps().asLocationMsg(), std::forward<Args>(args)...
+    );
 }
 
 template <typename EntityID>
@@ -596,8 +594,7 @@ void EntityLocationCoord<EntityID>::routeMsg(
 template <typename EntityID>
 void EntityLocationCoord<EntityID>::printCurrentCache() const {
   vt_debug_print(
-    normal, location,
-    "EntityLocationCoord: cache is managed by DARMA/loc\n"
+    normal, location, "EntityLocationCoord: cache is managed by DARMA/loc\n"
   );
 }
 
diff --git a/src/vt/topos/location/location_common.h b/src/vt/topos/location/location_common.h
index 8642860f5..b09af14ea 100644
--- a/src/vt/topos/location/location_common.h
+++ b/src/vt/topos/location/location_common.h
@@ -54,7 +54,7 @@ namespace vt { namespace location {
 
 using NodeActionType = std::function<void(NodeType)>;
 using ExistsNodeActionType = std::function<void(bool, NodeType)>;
-using LocMsgActionType = std::function<void(BaseMessage * )>;
+using LocMsgActionType = std::function<void(BaseMessage*)>;
 static constexpr ByteType const small_msg_max_size = 256;
 
 }}  // end namespace vt::location
diff --git a/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc b/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc
index 769583ac8..65804beb1 100644
--- a/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc
+++ b/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc
@@ -508,7 +508,6 @@ struct GatherTVInfo {
   }
 };
 
-
 static void collectTVData(GatherTVInfo& gather) {
   using tv::utility::ParseRender;
   ParseRender pr{theConfig()->vt_tv_config_file};
diff --git a/tests/unit/lb/test_temperedlb.cc b/tests/unit/lb/test_temperedlb.cc
index e76b15311..c4bfa9034 100644
--- a/tests/unit/lb/test_temperedlb.cc
+++ b/tests/unit/lb/test_temperedlb.cc
@@ -64,12 +64,9 @@ std::string writeTemperedLBConfig(
     // These tests assert exact solutions, so use synchronous informs and avoid
     // random propagation or transfer choices producing a different optimum.
     cfg_file_ << "0 TemperedLB converge_tolerance=0.001 iters=10 trials=3 "
-      "inform=SyncInform ordering=ElmID deterministic=true transfer=" <<
-      transfer_strategy <<
-      " alpha=" << alpha <<
-      " beta=" << beta <<
-      " gamma=" << gamma <<
-      " delta=" << delta;
+                 "inform=SyncInform ordering=ElmID deterministic=true transfer="
+              << transfer_strategy << " alpha=" << alpha << " beta=" << beta
+              << " gamma=" << gamma << " delta=" << delta;
     if (transfer_strategy == "SwapClusters") {
         cfg_file_ << " memory_threshold=" << memory_threshold;
     }
diff --git a/tests/unit/utils/test_demangler_utils.nompi.cc b/tests/unit/utils/test_demangler_utils.nompi.cc
index b599a0f8f..7e44af47b 100644
--- a/tests/unit/utils/test_demangler_utils.nompi.cc
+++ b/tests/unit/utils/test_demangler_utils.nompi.cc
@@ -99,18 +99,18 @@ struct TestDemanglerUtils : TestHarness {
 using TE = vt::util::demangle::TemplateExtract;
 
 TEST_F(TestDemanglerUtils, test_getVoidFuncStrArgs) {
-  std::array<std::pair<std::string, std::string>, 10> const data = {{
-    {"", ""},
-    {"not-starting-void", "not-starting-void"},
-    {"void(with-extra-at)end", "void(with-extra-at)end"},
-    {"void ()", ""},
-    {"void (foo)", "foo"},
-    {"void(foo)", "foo"},
-    {"void (dontcare-unbalanced))", "dontcare-unbalanced)"},
-    {"void (fn())", "fn()"},
-    {"void (fn(a))", "fn(a)"},
-    {"void (fn(*)(a,b,c,d))", "fn(*)(a,b,c,d)"}
-  }};
+  std::array<std::pair<std::string, std::string>, 10> const data = {
+    {{"", ""},
+     {"not-starting-void", "not-starting-void"},
+     {"void(with-extra-at)end", "void(with-extra-at)end"},
+     {"void ()", ""},
+     {"void (foo)", "foo"},
+     {"void(foo)", "foo"},
+     {"void (dontcare-unbalanced))", "dontcare-unbalanced)"},
+     {"void (fn())", "fn()"},
+     {"void (fn(a))", "fn(a)"},
+     {"void (fn(*)(a,b,c,d))", "fn(*)(a,b,c,d)"}}
+  };
 
   for (auto const& [given, expected] : data) {
     EXPECT_EQ(TE::getVoidFuncStrArgs(given), expected);
@@ -118,14 +118,14 @@ TEST_F(TestDemanglerUtils, test_getVoidFuncStrArgs) {
 }
 
 TEST_F(TestDemanglerUtils, test_getNamespace) {
-  std::array<std::pair<std::string, std::string>, 6> const data = {{
-    {"", ""},
-    {"aa", ""},
-    {"aa::bb", "aa"},
-    {"&aa::bb", "aa"},
-    {"aa::dd<bb::cc<r>>::bare", "aa::dd<bb::cc<r>>"},
-    {"aa<a>::dd<d>::bare<e>", "aa<a>::dd<d>"}
-  }};
+  std::array<std::pair<std::string, std::string>, 6> const data = {
+    {{"", ""},
+     {"aa", ""},
+     {"aa::bb", "aa"},
+     {"&aa::bb", "aa"},
+     {"aa::dd<bb::cc<r>>::bare", "aa::dd<bb::cc<r>>"},
+     {"aa<a>::dd<d>::bare<e>", "aa<a>::dd<d>"}}
+  };
 
   for (auto const& [given, expected] : data) {
     EXPECT_EQ(TE::getNamespace(given), expected);
@@ -133,13 +133,13 @@ TEST_F(TestDemanglerUtils, test_getNamespace) {
 }
 
 TEST_F(TestDemanglerUtils, test_getBarename) {
-  std::array<std::pair<std::string, std::string>, 5> const data = {{
-    {"", ""},
-    {"aa", "aa"},
-    {"aa::bb", "bb"},
-    {"aa::dd<bb::cc<r>>::bare", "bare"},
-    {"aa<a>::dd<d>::bare<e>", "bare<e>"}
-  }};
+  std::array<std::pair<std::string, std::string>, 5> const data = {
+    {{"", ""},
+     {"aa", "aa"},
+     {"aa::bb", "bb"},
+     {"aa::dd<bb::cc<r>>::bare", "bare"},
+     {"aa<a>::dd<d>::bare<e>", "bare<e>"}}
+  };
 
   for (auto const& [given, expected] : data) {
     EXPECT_EQ(TE::getBarename(given), expected);
@@ -158,16 +158,16 @@ void someFunc_2(A, B) { }
 } // namespace helpers
 
 TEST_F(TestDemanglerUtils, test_lastNamedPfType) {
-  std::array<std::pair<std::string, std::string>, 8> const data = {{
-    {"", ""},
-    {std::string{__PRETTY_FUNCTION__}, std::string{}},
-    TestFunctor<helpers::someFunc_0>{}(),
-    TestFunctor<helpers::someFunc_1>{}(),
-    TestFunctor<helpers::someFunc_2<int, float>>{}(),
-    SecondTestFunctor<int, float, helpers::someFunc_0>{}(),
-    SecondTestFunctor<double, char, helpers::someFunc_1>{}(),
-    SecondTestFunctor<unsigned, int, helpers::someFunc_2<int, float>>{}()
-  }};
+  std::array<std::pair<std::string, std::string>, 8> const data = {
+    {{"", ""},
+     {std::string{__PRETTY_FUNCTION__}, std::string{}},
+     TestFunctor<helpers::someFunc_0>{}(),
+     TestFunctor<helpers::someFunc_1>{}(),
+     TestFunctor<helpers::someFunc_2<int, float>>{}(),
+     SecondTestFunctor<int, float, helpers::someFunc_0>{}(),
+     SecondTestFunctor<double, char, helpers::someFunc_1>{}(),
+     SecondTestFunctor<unsigned, int, helpers::someFunc_2<int, float>>{}()}
+  };
 
   for (auto const& [spf, expected] : data) {
     EXPECT_EQ(TE::lastNamedPfType(spf, "PF_VALUE_NAME"), expected)

@codacy-production

codacy-production Bot commented Aug 25, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics -40 complexity · 0 duplication

Metric Results
Complexity -40
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@github-actions

github-actions Bot commented Aug 25, 2026 •

Copy link
Copy Markdown

Pipelines results

vt-build-amd64-alpine-3-16-clang-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-18-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-17-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-14-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-openmpi-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-13-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-16-zoltan-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-16-vtk-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-12-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-14-cpp

Build for 61dd1a0 (2026-08-26 14:45:51 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-icpx-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

In file included from /vt/tests/extern/googletest/googletest/src/gtest-all.cc:38:
In file included from /vt/tests/extern/googletest/googletest/include/gtest/gtest.h:60:
In file included from /vt/tests/extern/googletest/googletest/include/gtest/gtest-death-test.h:43:
In file included from /vt/tests/extern/googletest/googletest/include/gtest/internal/gtest-death-test-internal.h:46:
In file included from /vt/tests/extern/googletest/googletest/include/gtest/gtest-matchers.h:48:
/vt/tests/extern/googletest/googletest/include/gtest/gtest-printers.h:477:35: warning: implicit conversion from 'char8_t' to 'char32_t' may change the meaning of the represented code unit [-Wcharacter-conversion]
  477 |   PrintTo(ImplicitCast_<char32_t>(c), os);
      |           ~~~~~~~~~~~~~           ^
1 warning generated.

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-15-cpp-cxx20

Build for 61dd1a0 (2026-08-26 14:45:51 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-11-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-13-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-14-cpp-docs

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-13-cuda-12-9-0-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

/vt/lib/CLI/CLI/CLI11.hpp(1029): warning #2361-D: invalid narrowing conversion from "double" to "unsigned long"
          TT { std::declval<CC>() }
               ^
          detected during:
            instantiation of "vt::CLI::detail::is_direct_constructible<T, C>::test [with T=std::vector<std::string, std::allocator<std::string>>, C=double]" based on template arguments <std::vector<std::string, std::allocator<std::string>>, double> at line 1041
            instantiation of class "vt::CLI::detail::is_direct_constructible<T, C> [with T=std::vector<std::string, std::allocator<std::string>>, C=double]" at line 5005
            instantiation of "void vt::CLI::Option::results(T &) const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 5034
            instantiation of "T vt::CLI::Option::as<T>() const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 7315

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/vt/lib/CLI/CLI/CLI11.hpp(1029): warning #2361-D: invalid narrowing conversion from "int" to "unsigned long"
          TT { std::declval<CC>() }
               ^
          detected during:
            instantiation of "vt::CLI::detail::is_direct_constructible<T, C>::test [with T=std::vector<std::string, std::allocator<std::string>>, C=int]" based on template arguments <std::vector<std::string, std::allocator<std::string>>, int> at line 1041
            instantiation of class "vt::CLI::detail::is_direct_constructible<T, C> [with T=std::vector<std::string, std::allocator<std::string>>, C=int]" at line 5005
            instantiation of "void vt::CLI::Option::results(T &) const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 5034
            instantiation of "T vt::CLI::Option::as<T>() const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 7315

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-openmpi-cpp-spack

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-15-cpp-shared-ext-lib

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-13-cpp-fcontext

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-15-cpp-debug

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-14-cpp-trace-debug

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-14-cpp-ubsan

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-12-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-12-vtk-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-ldms-cpp

Build for aece52a (2026-10-13 17:17:21 UTC)

Compilation – successful

Testing – passed

View job log


@codecov

codecov Bot commented Aug 25, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.24561% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 88.71%. Comparing base (fd049ea) to head (33f7b68).
⚠️ Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
src/vt/topos/location/location.impl.h 96.96% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #2525      +/-   ##
===========================================
+ Coverage    88.51%   88.71%   +0.20%     
===========================================
  Files          728      720       -8     
  Lines        31028    30821     -207     
===========================================
- Hits         27463    27343     -120     
+ Misses        3565     3478      -87     
Files with missing lines Coverage Δ
src/vt/topos/location/location.h 100.00% <100.00%> (ø)
src/vt/topos/location/manager.h 100.00% <ø> (ø)
src/vt/trace/trace_lite.cc 92.10% <100.00%> (ø)
.../vt/vrt/collection/balance/lb_invoke/lb_manager.cc 81.88% <ø> (-0.21%) ⬇️
tests/unit/lb/test_temperedlb.cc 100.00% <ø> (ø)
tests/unit/utils/test_demangler_utils.nompi.cc 92.85% <100.00%> (-2.23%) ⬇️
src/vt/topos/location/location.impl.h 86.28% <96.96%> (-1.26%) ⬇️

... and 16 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@antoinemeyer5

antoinemeyer5 commented Aug 26, 2026 •

Copy link
Copy Markdown
Contributor Author

Why removing thoses checks?

  • vt-build-amd64-ubuntu-20-04-clang-9-cpp
    => cannot compile C++20 concepts used by loc
    => coverage: see vt-build-amd64-ubuntu-22-04-clang-15-cpp

  • vt-build-amd64-ubuntu-20-04-clang-10-cpp
    => cannot compile C++20 concepts used by loc
    => coverage: see vt-build-amd64-ubuntu-22-04-clang-14-cpp

  • vt-build-amd64-ubuntu-20-04-gcc-9-cpp
    => cannot compile C++20 concepts used by loc
    => coverage: OK

  • vt-build-amd64-ubuntu-20-04-gcc-9-cuda-11-4-3-cpp
    => cannot compile C++20 concepts used by loc
    => coverage: see amd64-ubuntu-24.04-gcc-13-cuda-12.9.0-cpp

  • vt-build-amd64-ubuntu-22-04-clang-11-cpp
    => removal is justified as a minimum-supported-compiler policy
    => coverage: OK

  • vt-build-amd64-ubuntu-22-04-clang-14-cpp
    => replace with 2 variants
    => coverage: see amd64-ubuntu-22.04-clang-14-cpp variant = "ubsan" and variant = "trace-debug"

@antoinemeyer5

antoinemeyer5 commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor Author

Fix with merge

Comment thread cmake/load_loc_repositories.cmake Outdated
Comment thread docs/md/vt.md
@lifflander

Copy link
Copy Markdown
Collaborator

Can you avoid putting merge commits on branch from develop? Instead you should just rebase on develop. Can you rewrite the history to do so? Thanks!

@antoinemeyer5

antoinemeyer5 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor Author

Need DARMA-tasking/workflows#51 from workflows to fix the last CI fail.

@antoinemeyer5

Copy link
Copy Markdown
Contributor Author

Remove fix for Spack from this PR and put it in the one linked to the issue #2532

@antoinemeyer5
antoinemeyer5 marked this pull request as draft October 5, 2026 17:16
@antoinemeyer5

Copy link
Copy Markdown
Contributor Author

Need to merge #2535 before to fix Spack issue

@antoinemeyer5 antoinemeyer5 self-assigned this Oct 6, 2026
@antoinemeyer5
antoinemeyer5 marked this pull request as ready for review October 7, 2026 14:35
@antoinemeyer5
antoinemeyer5 marked this pull request as draft October 14, 2026 07:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Start integrating the new loc repo with VT replacing the location coordinator

2 participants