diff --git a/.clang-format b/.clang-format index 98e77c74..965ba84c 100644 --- a/.clang-format +++ b/.clang-format @@ -6,6 +6,23 @@ UseTab: Never AllowShortFunctionsOnASingleLine: Empty IndentPPDirectives: AfterHash SortIncludes: true +IncludeCategories: + - Regex: '^' + Priority: 1 + SortPriority: 0 + CaseSensitive: false + - Regex: '^<.*\.h>' + Priority: 2 + SortPriority: 0 + CaseSensitive: false + - Regex: '^<.*' + Priority: 3 + SortPriority: 0 + CaseSensitive: false + - Regex: '.*' + Priority: 4 + SortPriority: 0 + CaseSensitive: false FixNamespaceComments: true InsertBraces: true QualifierAlignment: Left diff --git a/modules/runners/src/runners.cpp b/modules/runners/src/runners.cpp index 5f950455..598fef0f 100644 --- a/modules/runners/src/runners.cpp +++ b/modules/runners/src/runners.cpp @@ -1,6 +1,7 @@ #include "runners/include/runners.hpp" #include + #include #include @@ -140,6 +141,7 @@ int RunAllTestsSafely() { } // namespace int Init(int argc, char **argv) { + ppc::util::ConfigureMpiEnvironment(); const int init_res = MPI_Init(&argc, &argv); if (init_res != MPI_SUCCESS) { std::cerr << std::format("[ ERROR ] MPI_Init failed with code {}", init_res) << '\n'; diff --git a/modules/util/include/func_test_util.hpp b/modules/util/include/func_test_util.hpp index cc4965f4..afa8be5a 100644 --- a/modules/util/include/func_test_util.hpp +++ b/modules/util/include/func_test_util.hpp @@ -1,6 +1,7 @@ #pragma once #include + #include #include diff --git a/modules/util/include/perf_test_util.hpp b/modules/util/include/perf_test_util.hpp index bab6121a..56332901 100644 --- a/modules/util/include/perf_test_util.hpp +++ b/modules/util/include/perf_test_util.hpp @@ -1,7 +1,8 @@ #pragma once -#include #include + +#include #include #include #include diff --git a/modules/util/include/util.hpp b/modules/util/include/util.hpp index 91234455..fd5b2aa7 100644 --- a/modules/util/include/util.hpp +++ b/modules/util/include/util.hpp @@ -95,6 +95,7 @@ double GetTaskMaxTime(); double GetPerfMaxTime(); double GetTimeMPI(); int GetMPIRank(); +void ConfigureMpiEnvironment(); void SynchronizeMpiRanks(); template diff --git a/modules/util/src/util.cpp b/modules/util/src/util.cpp index 633eac97..d29c9277 100644 --- a/modules/util/src/util.cpp +++ b/modules/util/src/util.cpp @@ -68,6 +68,15 @@ bool ppc::util::IsUnderMpirun() { }); } +void ppc::util::ConfigureMpiEnvironment() { +#ifdef __APPLE__ + // Open MPI 5 can emit mmap backing-file probe warnings for macOS TMPDIR paths. + if (!env::get("OMPI_MCA_shmem").has_value()) { + env::detail::set_environment_variable("OMPI_MCA_shmem", "posix"); + } +#endif +} + void ppc::util::SynchronizeMpiRanks() { int initialized = 0; if (MPI_Initialized(&initialized) != MPI_SUCCESS || initialized == 0) { diff --git a/tasks/common/runners/performance.cpp b/tasks/common/runners/performance.cpp index 3b3902ee..20da6520 100644 --- a/tasks/common/runners/performance.cpp +++ b/tasks/common/runners/performance.cpp @@ -1,6 +1,7 @@ +#include + #include #include -#include #include #include @@ -177,6 +178,7 @@ int SynchronizeStatus(int local_status, std::string_view stage) { } int RunPerformanceMain(int argc, char **argv) { + ppc::util::ConfigureMpiEnvironment(); const int init_res = MPI_Init(&argc, &argv); if (init_res != MPI_SUCCESS) { std::cerr << "[ ERROR ] MPI_Init failed with code " << init_res << '\n'; diff --git a/tasks/example/processes/t1/tests/functional/main.cpp b/tasks/example/processes/t1/tests/functional/main.cpp index 50b8c77d..adf69f76 100644 --- a/tasks/example/processes/t1/tests/functional/main.cpp +++ b/tasks/example/processes/t1/tests/functional/main.cpp @@ -1,4 +1,5 @@ #include + #include #include diff --git a/tasks/example/processes/t2/tests/functional/main.cpp b/tasks/example/processes/t2/tests/functional/main.cpp index 6e60e0f5..146b11f5 100644 --- a/tasks/example/processes/t2/tests/functional/main.cpp +++ b/tasks/example/processes/t2/tests/functional/main.cpp @@ -1,4 +1,5 @@ #include + #include #include diff --git a/tasks/example/processes/t3/tests/functional/main.cpp b/tasks/example/processes/t3/tests/functional/main.cpp index 57bd3ebc..f727c55c 100644 --- a/tasks/example/processes/t3/tests/functional/main.cpp +++ b/tasks/example/processes/t3/tests/functional/main.cpp @@ -1,4 +1,5 @@ #include + #include #include diff --git a/tasks/example/threads/tests/functional/main.cpp b/tasks/example/threads/tests/functional/main.cpp index ff70a999..1b4bda31 100644 --- a/tasks/example/threads/tests/functional/main.cpp +++ b/tasks/example/threads/tests/functional/main.cpp @@ -1,4 +1,5 @@ #include + #include #include