diff --git a/hipamd/src/hip_graph_internal.cpp b/hipamd/src/hip_graph_internal.cpp index 9a4455ad89..2b1b556784 100644 --- a/hipamd/src/hip_graph_internal.cpp +++ b/hipamd/src/hip_graph_internal.cpp @@ -285,6 +285,10 @@ Graph* Graph::clone(std::unordered_map& clonedNodes) const { } clonedNodes[node]->SetDependencies(clonedDependencies); } + for (auto userObj : graphUserObj_) { + userObj->retain(); + newGraph->graphUserObj_.insert(userObj); + } return newGraph; } diff --git a/hipamd/src/hip_graph_internal.hpp b/hipamd/src/hip_graph_internal.hpp index e9a996ff46..0ffc26fb39 100644 --- a/hipamd/src/hip_graph_internal.hpp +++ b/hipamd/src/hip_graph_internal.hpp @@ -463,12 +463,6 @@ struct Graph { void GetRunList(std::vector>& parallelLists, std::unordered_map>& dependencies); bool TopologicalOrder(std::vector& TopoOrder); - void GetUserObjs(std::unordered_set& graphExeUserObjs) { - for (auto userObj : graphUserObj_) { - userObj->retain(); - graphExeUserObjs.insert(userObj); - } - } Graph* clone(std::unordered_map& clonedNodes) const; Graph* clone() const;