@@ -1038,6 +1038,17 @@ class UpdateNodesSeq : public IUpdateNodes {
10381038#endif
10391039
10401040#if (OV_THREAD == OV_THREAD_TBB || OV_THREAD == OV_THREAD_TBB_AUTO || OV_THREAD == OV_THREAD_OMP)
1041+
1042+ #if __cplusplus >= 202002L
1043+ #define ov_memory_order_release std::memory_order_release
1044+ #define ov_memory_order_relaxed std::memory_order_relaxed
1045+ #define ov_memory_order_acquire std::memory_order_acquire
1046+ #else
1047+ #define ov_memory_order_release std::memory_order::memory_order_release
1048+ #define ov_memory_order_relaxed std::memory_order::memory_order_relaxed
1049+ #define ov_memory_order_acquire std::memory_order::memory_order_acquire
1050+ #endif
1051+
10411052class UpdateNodesBase : public IUpdateNodes {
10421053public:
10431054 explicit UpdateNodesBase (std::vector<NodePtr>& executableGraphNodes) : m_executableGraphNodes(executableGraphNodes) {}
@@ -1048,22 +1059,22 @@ class UpdateNodesBase : public IUpdateNodes {
10481059 if (node->isDynamicNode ()) {
10491060 node->updateShapes ();
10501061 }
1051- m_prepareCounter.store (i, std::memory_order::memory_order_release );
1062+ m_prepareCounter.store (i, ov_memory_order_release );
10521063 }
10531064 }
10541065 catch (...) {
1055- m_completion.store (true , std::memory_order::memory_order_relaxed );
1066+ m_completion.store (true , ov_memory_order_relaxed );
10561067 throw ;
10571068 }
1058- m_prepareCounter.store (stop_indx, std::memory_order::memory_order_relaxed );
1059- m_completion.store (true , std::memory_order::memory_order_release );
1069+ m_prepareCounter.store (stop_indx, ov_memory_order_relaxed );
1070+ m_completion.store (true , ov_memory_order_release );
10601071 }
10611072
10621073 void updateDynParams (size_t node_indx, size_t /* unused*/ ) {
10631074 size_t local_counter = node_indx;
10641075 while (true ) {
1065- const bool completion = m_completion.load (std::memory_order::memory_order_acquire );
1066- const size_t prepareCounter = m_prepareCounter.load (std::memory_order::memory_order_relaxed );
1076+ const bool completion = m_completion.load (ov_memory_order_acquire );
1077+ const size_t prepareCounter = m_prepareCounter.load (ov_memory_order_relaxed );
10671078 if (completion && local_counter == prepareCounter) {
10681079 break ;
10691080 }
@@ -1082,6 +1093,10 @@ class UpdateNodesBase : public IUpdateNodes {
10821093 std::vector<NodePtr>& m_executableGraphNodes;
10831094};
10841095
1096+ #undef ov_memory_order_release
1097+ #undef ov_memory_order_relaxed
1098+ #undef ov_memory_order_acquire
1099+
10851100#if (OV_THREAD == OV_THREAD_TBB || OV_THREAD == OV_THREAD_TBB_AUTO)
10861101#if (TBB_VERSION_MAJOR > 2020)
10871102template <typename Body>
0 commit comments