diff --git a/rocclr/device/rocm/rocsettings.cpp b/rocclr/device/rocm/rocsettings.cpp index 92b67fc86c..593992cccc 100644 --- a/rocclr/device/rocm/rocsettings.cpp +++ b/rocclr/device/rocm/rocsettings.cpp @@ -256,6 +256,8 @@ void Settings::setKernelArgImpl(const amd::Isa& isa, bool isXgmi, bool hasValidH auto kernelArgImpl = KernelArgImpl::HostKernelArgs; + hasValidHDPFlush &= DEBUG_CLR_KERNARG_HDP_FLUSH_WA; + if (isXgmi) { // The XGMI-connected path does not require the manual memory ordering // workarounds that the PCIe connected path requires @@ -281,6 +283,8 @@ void Settings::setKernelArgImpl(const amd::Isa& isa, bool isXgmi, bool hasValidH if (!flagIsDefault(HIP_FORCE_DEV_KERNARG)) { kernel_arg_impl_ = kernelArgImpl & (HIP_FORCE_DEV_KERNARG ? 0xF : 0x0); } + + ClPrint(amd::LOG_INFO, amd::LOG_INIT, "Using dev kernel arg wa = %d", kernel_arg_impl_); } } // namespace amd::roc diff --git a/rocclr/utils/flags.hpp b/rocclr/utils/flags.hpp index 4e781d55b3..ea1ff2b7ed 100644 --- a/rocclr/utils/flags.hpp +++ b/rocclr/utils/flags.hpp @@ -258,7 +258,9 @@ release(bool, HIP_ALWAYS_USE_NEW_COMGR_UNBUNDLING_ACTION, false, \ release(bool, DEBUG_HIP_KERNARG_COPY_OPT, true, \ "Enable/Disable multiple kern arg copies") \ release(bool, DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR, false, \ - "Use std::mutext in amd::monotor") \ + "Use std::mutex in amd::monotor") \ +release(bool, DEBUG_CLR_KERNARG_HDP_FLUSH_WA, false, \ + "Toggle kernel arg copy workaround") \ namespace amd {