From 710dcf6f20c29650a46e7b5e63ad052dd944b147 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Tue, 24 Jun 2025 09:42:59 +0200 Subject: [PATCH 1/6] Move OpenMP cleanup to base Task destructor --- modules/core/task/include/task.hpp | 6 ++++++ tasks/example_threads/omp/src/ops_omp.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/modules/core/task/include/task.hpp b/modules/core/task/include/task.hpp index 340fb97ef..acea7fdd3 100644 --- a/modules/core/task/include/task.hpp +++ b/modules/core/task/include/task.hpp @@ -11,6 +11,9 @@ #include #include #include +#ifdef _OPENMP +#include +#endif #include #include #include @@ -177,6 +180,9 @@ class Task { } else { functions_order_.clear(); } +#ifdef _OPENMP + omp_pause_resource_all(omp_pause_hard); +#endif } protected: diff --git a/tasks/example_threads/omp/src/ops_omp.cpp b/tasks/example_threads/omp/src/ops_omp.cpp index ee3f42df7..a671a431a 100644 --- a/tasks/example_threads/omp/src/ops_omp.cpp +++ b/tasks/example_threads/omp/src/ops_omp.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "core/util/include/util.hpp" #include "example_threads/common/include/common.hpp" From 2b0d2a2242f39b8fe2059cf2ec210d27e5a0a184 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Tue, 24 Jun 2025 09:49:30 +0200 Subject: [PATCH 2/6] Clean up OpenMP include guards --- modules/core/task/include/task.hpp | 2 -- tasks/example_threads/omp/src/ops_omp.cpp | 1 - 2 files changed, 3 deletions(-) diff --git a/modules/core/task/include/task.hpp b/modules/core/task/include/task.hpp index acea7fdd3..193ef41dc 100644 --- a/modules/core/task/include/task.hpp +++ b/modules/core/task/include/task.hpp @@ -11,9 +11,7 @@ #include #include #include -#ifdef _OPENMP #include -#endif #include #include #include diff --git a/tasks/example_threads/omp/src/ops_omp.cpp b/tasks/example_threads/omp/src/ops_omp.cpp index a671a431a..ee3f42df7 100644 --- a/tasks/example_threads/omp/src/ops_omp.cpp +++ b/tasks/example_threads/omp/src/ops_omp.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include "core/util/include/util.hpp" #include "example_threads/common/include/common.hpp" From 708a6b83d98e4a2113e0a19e6cbe351ad29a6add Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Tue, 24 Jun 2025 09:49:37 +0200 Subject: [PATCH 3/6] Move OpenMP cleanup out of compile guards --- modules/core/task/include/task.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/core/task/include/task.hpp b/modules/core/task/include/task.hpp index 193ef41dc..2a5c486e0 100644 --- a/modules/core/task/include/task.hpp +++ b/modules/core/task/include/task.hpp @@ -178,9 +178,7 @@ class Task { } else { functions_order_.clear(); } -#ifdef _OPENMP omp_pause_resource_all(omp_pause_hard); -#endif } protected: From 484beda9b6200c172a030191ab0275778953195a Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Tue, 24 Jun 2025 09:55:19 +0200 Subject: [PATCH 4/6] clang-format --- modules/core/task/include/task.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/core/task/include/task.hpp b/modules/core/task/include/task.hpp index 2a5c486e0..925956afe 100644 --- a/modules/core/task/include/task.hpp +++ b/modules/core/task/include/task.hpp @@ -1,5 +1,7 @@ #pragma once +#include + #include #include #include @@ -11,7 +13,6 @@ #include #include #include -#include #include #include #include From 184673f91b38331c461b40ef5e650adeeac20678 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Tue, 24 Jun 2025 10:31:41 +0200 Subject: [PATCH 5/6] soft --- modules/core/task/include/task.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/task/include/task.hpp b/modules/core/task/include/task.hpp index 925956afe..ca09aa378 100644 --- a/modules/core/task/include/task.hpp +++ b/modules/core/task/include/task.hpp @@ -179,7 +179,7 @@ class Task { } else { functions_order_.clear(); } - omp_pause_resource_all(omp_pause_hard); + omp_pause_resource_all(omp_pause_soft); } protected: From c684e9b66434bb98a9df89b4c9919d1c63114f05 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Tue, 24 Jun 2025 11:08:14 +0200 Subject: [PATCH 6/6] only omp 5.0 --- modules/core/task/include/task.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/core/task/include/task.hpp b/modules/core/task/include/task.hpp index ca09aa378..338b6f69a 100644 --- a/modules/core/task/include/task.hpp +++ b/modules/core/task/include/task.hpp @@ -179,7 +179,9 @@ class Task { } else { functions_order_.clear(); } +#if _OPENMP >= 201811 omp_pause_resource_all(omp_pause_soft); +#endif } protected: