From 696bb126014a91b9c35bfd5172fc87a6291b884d Mon Sep 17 00:00:00 2001 From: Konstantin Zhuravlyov Date: Mon, 26 Mar 2018 11:59:13 -0400 Subject: [PATCH] Convert old target names to old new target names. Change-Id: I701651d74f353e234556e4bf5d50d63c598e5f15 [ROCm/ROCR-Runtime commit: e4c6a3ae281414ad9d03dea660008f1c96f15552] --- .../runtime/hsa-runtime/core/runtime/hsa.cpp | 35 ++++++++++++++++++- .../runtime/hsa-runtime/core/runtime/isa.cpp | 12 +++---- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp index 71e1b86dd8..fdbdfb1538 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/hsa.cpp @@ -1843,8 +1843,41 @@ hsa_status_t hsa_code_object_get_info( return status; } + std::string isa_name_str(isa_name); + + bool IsFinalizer = true; + uint32_t codeHsailMajor; + uint32_t codeHsailMinor; + hsa_profile_t codeProfile; + hsa_machine_model_t codeMachineModel; + hsa_default_float_rounding_mode_t codeRoundingMode; + if (!code->GetNoteHsail(&codeHsailMajor, &codeHsailMinor, + &codeProfile, &codeMachineModel, + &codeRoundingMode)) { + // Only finalizer generated the "HSAIL" note. + IsFinalizer = false; + } + if (IsFinalizer && (code->EFlags() & EF_AMDGPU_XNACK)) { + isa_name_str = isa_name_str + "-xnack"; + } else { + if (code->EFlags() != 0 && (code->EFlags() & EF_AMDGPU_XNACK_LC)) { + isa_name_str = isa_name_str + "-xnack"; + } else { + if (isa_name_str == "AMD:AMDGPU:8:0:1") + isa_name_str = isa_name_str + "-xnack"; + else if (isa_name_str == "AMD:AMDGPU:8:1:0") + isa_name_str = isa_name_str + "-xnack"; + else if (isa_name_str == "AMD:AMDGPU:9:0:1") + isa_name_str = isa_name_str + "-xnack"; + else if (isa_name_str == "AMD:AMDGPU:9:0:2") + isa_name_str = isa_name_str + "-xnack"; + else if (isa_name_str == "AMD:AMDGPU:9:0:3") + isa_name_str = isa_name_str + "-xnack"; + } + } + hsa_isa_t isa_handle = {0}; - status = HSA::hsa_isa_from_name(isa_name, &isa_handle); + status = HSA::hsa_isa_from_name(isa_name_str.c_str(), &isa_handle); if (status != HSA_STATUS_SUCCESS) { return status; } diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/isa.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/isa.cpp index 9ba0e82899..fe260cb80d 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/isa.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/isa.cpp @@ -191,12 +191,12 @@ const IsaRegistry::IsaMap IsaRegistry::supported_isas_ = const IsaRegistry::IsaMap IsaRegistry::GetSupportedIsas() { #define ISAREG_ENTRY_GEN(maj, min, stp, xnack) \ - Isa amd_amdgpu_##maj##min##stp; \ - amd_amdgpu_##maj##min##stp.version_ = Isa::Version(maj, min, stp); \ - amd_amdgpu_##maj##min##stp.xnackEnabled_ = xnack; \ - supported_isas.insert( \ - std::make_pair( \ - amd_amdgpu_##maj##min##stp.GetFullName(), amd_amdgpu_##maj##min##stp)); \ + Isa amd_amdgpu_##maj##min##stp##xnack; \ + amd_amdgpu_##maj##min##stp##xnack.version_ = Isa::Version(maj, min, stp); \ + amd_amdgpu_##maj##min##stp##xnack.xnackEnabled_ = xnack; \ + supported_isas.insert(std::make_pair( \ + amd_amdgpu_##maj##min##stp##xnack.GetFullName(), \ + amd_amdgpu_##maj##min##stp##xnack)); \ IsaMap supported_isas;