diff --git a/rocclr/device/rocm/rocvirtual.cpp b/rocclr/device/rocm/rocvirtual.cpp index 8ccaa949a2..84ef3125ce 100644 --- a/rocclr/device/rocm/rocvirtual.cpp +++ b/rocclr/device/rocm/rocvirtual.cpp @@ -906,6 +906,12 @@ bool VirtualGPU::dispatchGenericAqlPacket( addSystemScope_ = false; } + if (DEBUG_CLR_SKIP_RELEASE_SCOPE) { + header &= ~(HSA_FENCE_SCOPE_AGENT << HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE | + HSA_FENCE_SCOPE_SYSTEM << HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE); + header |= (HSA_FENCE_SCOPE_NONE << HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE); + } + auto expected_fence_state = extractAqlBits(header, HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE, HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE); diff --git a/rocclr/utils/flags.hpp b/rocclr/utils/flags.hpp index 56130f75ab..00d1b4ce76 100644 --- a/rocclr/utils/flags.hpp +++ b/rocclr/utils/flags.hpp @@ -269,6 +269,8 @@ release(bool, DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR, false, \ "Use std::mutex in amd::monitor") \ release(bool, DEBUG_CLR_KERNARG_HDP_FLUSH_WA, false, \ "Toggle kernel arg copy workaround") \ +release(bool, DEBUG_CLR_SKIP_RELEASE_SCOPE, false, \ + "Forces release scope to SCOPE_NONE for aql packets") \ release(uint, DEBUG_HIP_7_PREVIEW, 0, \ "Enables specific backward incompatible changes support before 7.0," \ "using the mask. By default the changes are disabled and is set to 0")\