From ce5103ac97c7e947ca06e1c00e486f93f01168f2 Mon Sep 17 00:00:00 2001 From: sdashmiz Date: Thu, 18 Aug 2022 17:35:58 -0400 Subject: [PATCH] SWDEV-352290 - remove the static list for user obj Signed-off-by: sdashmiz Change-Id: I8d7542ad5aacdda4e817c6aaed78c9cac4562efd --- hipamd/src/hip_graph.cpp | 2 +- hipamd/src/hip_graph_internal.cpp | 1 - hipamd/src/hip_graph_internal.hpp | 7 ++----- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/hipamd/src/hip_graph.cpp b/hipamd/src/hip_graph.cpp index d081c584b5..7c9eae7bb1 100644 --- a/hipamd/src/hip_graph.cpp +++ b/hipamd/src/hip_graph.cpp @@ -2075,7 +2075,7 @@ hipError_t hipGraphRetainUserObject(hipGraph_t graph, hipUserObject_t object, un hipError_t hipGraphReleaseUserObject(hipGraph_t graph, hipUserObject_t object, unsigned int count) { HIP_INIT_API(hipGraphReleaseUserObject, graph, object, count); - if (graph == nullptr || object == nullptr || !ihipGraph::isUserObjGraphValid(object)) { + if (graph == nullptr || object == nullptr || !graph->isUserObjGraphValid(object)) { HIP_RETURN(hipErrorInvalidValue); } //! Obj is being destroyed diff --git a/hipamd/src/hip_graph_internal.cpp b/hipamd/src/hip_graph_internal.cpp index 18ef41da64..02e1dcae71 100644 --- a/hipamd/src/hip_graph_internal.cpp +++ b/hipamd/src/hip_graph_internal.cpp @@ -55,7 +55,6 @@ std::unordered_set hipGraphExec::graphExecSet_; amd::Monitor hipGraphExec::graphExecSetLock_{"Guards global exec graph set"}; std::unordered_set hipUserObject::ObjectSet_; amd::Monitor hipUserObject::UserObjectLock_{"Guards global user object"}; -std::unordered_set ihipGraph::graphUserObj_; hipError_t hipGraphMemcpyNode1D::ValidateParams(void* dst, const void* src, size_t count, hipMemcpyKind kind) { diff --git a/hipamd/src/hip_graph_internal.hpp b/hipamd/src/hip_graph_internal.hpp index 43ddfdbb72..80f976aff8 100644 --- a/hipamd/src/hip_graph_internal.hpp +++ b/hipamd/src/hip_graph_internal.hpp @@ -286,7 +286,7 @@ struct ihipGraph { const ihipGraph* pOriginalGraph_ = nullptr; static std::unordered_set graphSet_; static amd::Monitor graphSetLock_; - static std::unordered_set graphUserObj_; + std::unordered_set graphUserObj_; public: ihipGraph() { @@ -331,8 +331,7 @@ struct ihipGraph { graphUserObj_.insert(pUserObj); } // Check user obj resource from graph is valid - static bool isUserObjGraphValid(hipUserObject* pUserObj) { - amd::ScopedLock lock(graphSetLock_); + bool isUserObjGraphValid(hipUserObject* pUserObj) { if (graphUserObj_.find(pUserObj) == graphUserObj_.end()) { return false; } @@ -340,7 +339,6 @@ struct ihipGraph { } // Delete user obj resource from graph void RemoveUserObjGraph(hipUserObject* pUserObj) { - amd::ScopedLock lock(graphSetLock_); graphUserObj_.erase(pUserObj); } // saves the original graph ptr if cloned @@ -355,7 +353,6 @@ struct ihipGraph { void GetUserObjs( std::unordered_set& graphExeUserObjs) { for(auto userObj : graphUserObj_) { - amd::ScopedLock lock(graphSetLock_); userObj->retain(); graphExeUserObjs.insert(userObj); }