From 8179fa98a227f200d47e27689ea4a875ff9b856a Mon Sep 17 00:00:00 2001 From: Anusha GodavarthySurya Date: Tue, 26 Mar 2024 12:15:06 +0000 Subject: [PATCH] SWDEV-450053 - Handle MemcpyNodeSetParamsTo/FromSymbol negative parameters For all windows allocation on SVM memory tagged with flag ROCCLR_MEM_INTERPROCESS. hipHostMalloc validation is based on flag. So remove ROCCLR_MEM_INTERPROCESS before check. Change-Id: I823bbf228d9a4a9acb4abffc01ac6b3f544c6e12 --- hipamd/src/hip_graph_internal.hpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hipamd/src/hip_graph_internal.hpp b/hipamd/src/hip_graph_internal.hpp index 9195af39e6..c2b7298722 100644 --- a/hipamd/src/hip_graph_internal.hpp +++ b/hipamd/src/hip_graph_internal.hpp @@ -1678,9 +1678,16 @@ class GraphMemcpyNodeToSymbol : public GraphMemcpyNode1D { } size_t dOffset = 0; amd::Memory* srcMemory = getMemoryObject(src, dOffset); + cl_mem_flags srcFlag = 0; + if (srcMemory != nullptr) { + srcFlag = srcMemory->getMemFlags(); + if (!IS_LINUX) { + srcFlag &= ~ROCCLR_MEM_INTERPROCESS; + } + } if (srcMemory == nullptr && kind != hipMemcpyHostToDevice && kind != hipMemcpyDefault) { return hipErrorInvalidValue; - } else if (srcMemory != nullptr && srcMemory->getMemFlags() == 0 && + } else if (srcMemory != nullptr && srcFlag == 0 && kind != hipMemcpyDeviceToDevice && kind != hipMemcpyDeviceToDeviceNoCU && kind != hipMemcpyDefault) { return hipErrorInvalidValue;