From b51f68b53533020dc3b57bf5a7610046ce9e9345 Mon Sep 17 00:00:00 2001 From: Sean Keely Date: Sat, 3 Oct 2020 03:47:26 -0500 Subject: [PATCH] Style update for SDMA enable flag. Updated to match xnack flag's style. Change-Id: I6115c0b53660d789e698de1606a9388ae1789866 --- runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp | 4 ++-- runtime/hsa-runtime/core/util/flag.h | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp b/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp index 89f3d5e900..9501b2b214 100644 --- a/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp +++ b/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp @@ -565,11 +565,11 @@ void GpuAgent::InitDma() { // Decide which engine to use for blits. auto blit_lambda = [this](bool use_xgmi, lazy_ptr& queue) { - const std::string& sdma_override = core::Runtime::runtime_singleton_->flag().enable_sdma(); + Flag::SDMA_OVERRIDE sdma_override = core::Runtime::runtime_singleton_->flag().enable_sdma(); // User SDMA queues are unstable on gfx8. bool use_sdma = ((isa_->GetMajorVersion() != 8)); - if (sdma_override.size() != 0) use_sdma = (sdma_override == "1"); + if (sdma_override != Flag::SDMA_DEFAULT) use_sdma = (sdma_override == Flag::SDMA_ENABLE); if (use_sdma && (HSA_PROFILE_BASE == profile_)) { auto ret = CreateBlitSdma(use_xgmi); diff --git a/runtime/hsa-runtime/core/util/flag.h b/runtime/hsa-runtime/core/util/flag.h index f3b4141c9d..f789527306 100644 --- a/runtime/hsa-runtime/core/util/flag.h +++ b/runtime/hsa-runtime/core/util/flag.h @@ -54,6 +54,8 @@ namespace rocr { class Flag { public: + enum SDMA_OVERRIDE { SDMA_DISABLE, SDMA_ENABLE, SDMA_DEFAULT }; + explicit Flag() { Refresh(); } virtual ~Flag() {} @@ -71,7 +73,8 @@ class Flag { var = os::GetEnvVar("HSA_ENABLE_INTERRUPT"); enable_interrupt_ = (var == "0") ? false : true; - enable_sdma_ = os::GetEnvVar("HSA_ENABLE_SDMA"); + var = os::GetEnvVar("HSA_ENABLE_SDMA"); + enable_sdma_ = (var == "0") ? SDMA_DISABLE : ((var == "1") ? SDMA_ENABLE : SDMA_DEFAULT); visible_gpus_ = os::GetEnvVar("ROCR_VISIBLE_DEVICES"); filter_visible_gpus_ = os::IsEnvVarSet("ROCR_VISIBLE_DEVICES"); @@ -152,7 +155,7 @@ class Flag { bool no_scratch_thread_limiter() const { return no_scratch_thread_limit_; } - std::string enable_sdma() const { return enable_sdma_; } + SDMA_OVERRIDE enable_sdma() const { return enable_sdma_; } std::string visible_gpus() const { return visible_gpus_; } @@ -187,7 +190,7 @@ class Flag { bool disable_image_; bool loader_enable_mmap_uri_; - std::string enable_sdma_; + SDMA_OVERRIDE enable_sdma_; bool filter_visible_gpus_; std::string visible_gpus_;