diff --git a/.github/workflows/linux_arm64.yml b/.github/workflows/linux_arm64.yml index 6000198c95ccac..459fabfae44956 100644 --- a/.github/workflows/linux_arm64.yml +++ b/.github/workflows/linux_arm64.yml @@ -149,7 +149,6 @@ jobs: -DENABLE_NCC_STYLE=OFF \ -DENABLE_TESTS=ON \ -DENABLE_STRICT_DEPENDENCIES=OFF \ - -DENABLE_SYSTEM_TBB=OFF \ -DENABLE_SYSTEM_OPENCL=ON \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DCPACK_GENERATOR=TGZ \ diff --git a/.github/workflows/linux_conditional_compilation.yml b/.github/workflows/linux_conditional_compilation.yml index 942b36f4790684..b7734816e7a393 100644 --- a/.github/workflows/linux_conditional_compilation.yml +++ b/.github/workflows/linux_conditional_compilation.yml @@ -143,6 +143,7 @@ jobs: cmake \ -G "${{ env.CMAKE_GENERATOR }}" \ -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_CXX_STANDARD=20 \ -DENABLE_TESTS=ON \ -DENABLE_CPPLINT=OFF \ -DENABLE_NCC_STYLE=OFF \ diff --git a/.github/workflows/windows_conditional_compilation.yml b/.github/workflows/windows_conditional_compilation.yml index fcb74ab0438532..2d88bc90dcbb43 100644 --- a/.github/workflows/windows_conditional_compilation.yml +++ b/.github/workflows/windows_conditional_compilation.yml @@ -4,14 +4,14 @@ on: schedule: # run daily at 00:00 - cron: '0 0 * * *' - # pull_request: - # paths-ignore: - # - '**/docs/**' - # - 'docs/**' - # - '**/**.md' - # - '**.md' - # - '**/layer_tests_summary/**' - # - '**/conformance/**' + pull_request: + paths-ignore: + - '**/docs/**' + - 'docs/**' + - '**/**.md' + - '**.md' + - '**/layer_tests_summary/**' + - '**/conformance/**' push: paths-ignore: - '**/docs/**' @@ -118,6 +118,7 @@ jobs: run: | cmake -G "${{ env.CMAKE_GENERATOR }}" ` -DBUILD_SHARED_LIBS=OFF ` + -DCMAKE_CXX_STANDARD=20 ` -DENABLE_TESTS=ON ` -DENABLE_CPPLINT=OFF ` -DENABLE_NCC_STYLE=OFF ` diff --git a/cmake/features.cmake b/cmake/features.cmake index 209fb56b71b2bf..eb8e10f1240bb2 100644 --- a/cmake/features.cmake +++ b/cmake/features.cmake @@ -165,7 +165,12 @@ endif() if(DEFINED ENV{TBBROOT} OR DEFINED ENV{TBB_DIR} OR DEFINED TBB_DIR OR DEFINED TBBROOT) set(ENABLE_SYSTEM_TBB_DEFAULT OFF) else() - set(ENABLE_SYSTEM_TBB_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT}) + if(LINUX AND ARM64) + # CVS-126984: system TBB is not very stable on Linux ARM64 (at least on Ubuntu 20.04) + set(ENABLE_SYSTEM_TBB_DEFAULT OFF) + else() + set(ENABLE_SYSTEM_TBB_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT}) + endif() endif() ov_dependent_option (ENABLE_SYSTEM_TBB "Enables use of system TBB" ${ENABLE_SYSTEM_TBB_DEFAULT} diff --git a/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp b/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp index 0719a5347cb981..28fa98d324f8d3 100644 --- a/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp +++ b/src/common/transformations/include/transformations/rt_info/nms_selected_indices.hpp @@ -21,7 +21,7 @@ TRANSFORMATIONS_API bool has_nms_selected_indices(const Node* node); TRANSFORMATIONS_API void set_nms_selected_indices(Node* node); -class TRANSFORMATIONS_API NmsSelectedIndices : ov::RuntimeAttribute { +class TRANSFORMATIONS_API NmsSelectedIndices : public ov::RuntimeAttribute { public: OPENVINO_RTTI("nms_selected_indices", "0"); NmsSelectedIndices() = default; diff --git a/src/plugins/intel_cpu/src/graph.cpp b/src/plugins/intel_cpu/src/graph.cpp index 8b3646a37d4668..c6873548f08e47 100644 --- a/src/plugins/intel_cpu/src/graph.cpp +++ b/src/plugins/intel_cpu/src/graph.cpp @@ -1038,6 +1038,17 @@ class UpdateNodesSeq : public IUpdateNodes { #endif #if (OV_THREAD == OV_THREAD_TBB || OV_THREAD == OV_THREAD_TBB_AUTO || OV_THREAD == OV_THREAD_OMP) + +#if __cplusplus >= 202002L +#define ov_memory_order_release std::memory_order_release +#define ov_memory_order_relaxed std::memory_order_relaxed +#define ov_memory_order_acquire std::memory_order_acquire +#else +#define ov_memory_order_release std::memory_order::memory_order_release +#define ov_memory_order_relaxed std::memory_order::memory_order_relaxed +#define ov_memory_order_acquire std::memory_order::memory_order_acquire +#endif + class UpdateNodesBase : public IUpdateNodes { public: explicit UpdateNodesBase(std::vector& executableGraphNodes) : m_executableGraphNodes(executableGraphNodes) {} @@ -1048,22 +1059,22 @@ class UpdateNodesBase : public IUpdateNodes { if (node->isDynamicNode()) { node->updateShapes(); } - m_prepareCounter.store(i, std::memory_order::memory_order_release); + m_prepareCounter.store(i, ov_memory_order_release); } } catch(...) { - m_completion.store(true, std::memory_order::memory_order_relaxed); + m_completion.store(true, ov_memory_order_relaxed); throw; } - m_prepareCounter.store(stop_indx, std::memory_order::memory_order_relaxed); - m_completion.store(true, std::memory_order::memory_order_release); + m_prepareCounter.store(stop_indx, ov_memory_order_relaxed); + m_completion.store(true, ov_memory_order_release); } void updateDynParams(size_t node_indx, size_t /*unused*/) { size_t local_counter = node_indx; while (true) { - const bool completion = m_completion.load(std::memory_order::memory_order_acquire); - const size_t prepareCounter = m_prepareCounter.load(std::memory_order::memory_order_relaxed); + const bool completion = m_completion.load(ov_memory_order_acquire); + const size_t prepareCounter = m_prepareCounter.load(ov_memory_order_relaxed); if (completion && local_counter == prepareCounter) { break; } @@ -1082,6 +1093,10 @@ class UpdateNodesBase : public IUpdateNodes { std::vector& m_executableGraphNodes; }; +#undef ov_memory_order_release +#undef ov_memory_order_relaxed +#undef ov_memory_order_acquire + #if (OV_THREAD == OV_THREAD_TBB || OV_THREAD == OV_THREAD_TBB_AUTO) #if (TBB_VERSION_MAJOR > 2020) template diff --git a/src/plugins/intel_cpu/thirdparty/onednn b/src/plugins/intel_cpu/thirdparty/onednn index 2ead5d4fe5993a..1e720905722903 160000 --- a/src/plugins/intel_cpu/thirdparty/onednn +++ b/src/plugins/intel_cpu/thirdparty/onednn @@ -1 +1 @@ -Subproject commit 2ead5d4fe5993a797d9a7a4b8b5557b96f6ec90e +Subproject commit 1e7209057229038e0784b15169474d23fb524e4e diff --git a/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp b/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp index 24f414af467408..cb8ed12fe2d11a 100644 --- a/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp +++ b/src/plugins/intel_gpu/src/graph/graph_optimizer/reorder_inputs.cpp @@ -689,7 +689,7 @@ void reorder_inputs::run(program& p, layout_optimizer& lo, reorder_factory& rf) p.get_processing_order().begin(), p.get_processing_order().end(), reorder_cnt{ 0, 0 }, - [&](reorder_cnt& total, program_node* node) { + [&](const reorder_cnt& total, program_node* node) { if (fmt_map.count(node) == 0 || fmt_map.at(node) == format::any) return total; auto count = count_reorders(fmt_map, lo, node);