From d8e4a289b3300bdd1d281a9df6297fa079fc8657 Mon Sep 17 00:00:00 2001 From: German Andryeyev Date: Wed, 29 Jun 2022 13:04:46 -0400 Subject: [PATCH] SWDEV-344280 - Use coarse grain sysmem for kernel arg on MI200 Change-Id: I9596f0e8b88699538ec271b3a4345e5f75b968e3 --- rocclr/device/rocm/rocsettings.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/rocclr/device/rocm/rocsettings.cpp b/rocclr/device/rocm/rocsettings.cpp index 04d0008dcb..228b9a84fd 100644 --- a/rocclr/device/rocm/rocsettings.cpp +++ b/rocclr/device/rocm/rocsettings.cpp @@ -96,6 +96,9 @@ Settings::Settings() { ROC_CPU_WAIT_FOR_SIGNAL : cpu_wait_for_signal_; system_scope_signal_ = ROC_SYSTEM_SCOPE_SIGNAL; skip_copy_sync_ = ROC_SKIP_COPY_SYNC; + + // Use coarse grain system memory for kernel arguments by default (to keep GPU cache) + fgs_kernel_arg_ = false; } // ================================================================================================ @@ -171,10 +174,6 @@ bool Settings::create(bool fullProfile, uint32_t gfxipMajor, uint32_t gfxipMinor lcWavefrontSize64_ = !enableWave32Mode_; - // Enable fgs kernel arg segment only for a specific HW - fgs_kernel_arg_ = gfxipMajor == 9 && gfxStepping == 10; - fgs_kernel_arg_ = (!flagIsDefault(ROC_USE_FGS_KERNARG)) ? - ROC_USE_FGS_KERNARG : fgs_kernel_arg_; // Override current device settings override(); @@ -229,6 +228,10 @@ void Settings::override() { enableCoopGroups_ = GPU_ENABLE_COOP_GROUPS; enableCoopMultiDeviceGroups_ = GPU_ENABLE_COOP_GROUPS; } + + if (!flagIsDefault(ROC_USE_FGS_KERNARG)) { + fgs_kernel_arg_ = ROC_USE_FGS_KERNARG; + } } } // namespace roc