diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_aql_queue.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_aql_queue.cpp index 424ec07c86..90123fce31 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_aql_queue.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_aql_queue.cpp @@ -313,7 +313,7 @@ AqlQueue::AqlQueue(GpuAgent* agent, size_t req_size_pkts, HSAuint32 node_id, Scr MAKE_NAMED_SCOPE_GUARD(PM4IBGuard, [&]() { agent_->system_deallocator()(pm4_ib_buf_); }); // Set initial CU mask - SetCUMasking(0, nullptr); + if (!core::Runtime::runtime_singleton_->flag().cu_mask_skip_init()) SetCUMasking(0, nullptr); active_ = true; diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.h b/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.h index cd395c667d..e6825f7f8a 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.h +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.h @@ -151,6 +151,9 @@ class Flag { var = os::GetEnvVar("HSA_ENABLE_DEBUG"); debug_ = (var == "1") ? true : false; + + var = os::GetEnvVar("HSA_CU_MASK_SKIP_INIT"); + cu_mask_skip_init_ = (var == "1") ? true : false; } void parse_masks(uint32_t maxGpu, uint32_t maxCU) { @@ -220,6 +223,8 @@ class Flag { return it->second; } + bool cu_mask_skip_init() const { return cu_mask_skip_init_; } + private: bool check_flat_scratch_; bool enable_vm_fault_message_; @@ -240,6 +245,7 @@ class Flag { bool patch_xgmi_link_weight_; bool patch_link_override_; bool debug_; + bool cu_mask_skip_init_; SDMA_OVERRIDE enable_sdma_;