From 848b7e3ec0d83cd2e0f0373a663f097fdf6b870c Mon Sep 17 00:00:00 2001 From: kjayapra-amd Date: Tue, 23 Feb 2021 11:44:36 -0500 Subject: [PATCH] SWDEV-274058 - Porting HIP, ROCclr gfx90a changes to mainline. Change-Id: I02f53d4c7897d26243620cfc961fa9bd984cede4 --- bin/hipcc | 2 +- rocclr/amd_hsa_elf.hpp | 3 ++- rocclr/hip_code_object.cpp | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/hipcc b/bin/hipcc index 8e567fd65e..28a40ca46f 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -60,7 +60,7 @@ $HIPCC_LINK_FLAGS_APPEND=$ENV{'HIPCC_LINK_FLAGS_APPEND'}; # Known HIP target names. @knownTargets = ('gfx700', 'gfx701', 'gfx702', 'gfx703', 'gfx704', 'gfx705', 'gfx801', 'gfx802', 'gfx803', 'gfx805', 'gfx810', - 'gfx900', 'gfx902', 'gfx904', 'gfx906', 'gfx908', 'gfx909', + 'gfx900', 'gfx902', 'gfx904', 'gfx906', 'gfx908', 'gfx909', 'gfx90a', 'gfx1010', 'gfx1011', 'gfx1012', 'gfx1030', 'gfx1031', 'gfx1032'); # Known Features @knownFeatures = ('sramecc-', 'sramecc+', 'xnack-', 'xnack+'); diff --git a/rocclr/amd_hsa_elf.hpp b/rocclr/amd_hsa_elf.hpp index 13c0697fd8..c5a7ca40a1 100644 --- a/rocclr/amd_hsa_elf.hpp +++ b/rocclr/amd_hsa_elf.hpp @@ -86,8 +86,9 @@ enum : unsigned { EF_AMDGPU_MACH_AMDGCN_GFX602 = 0x03a, EF_AMDGPU_MACH_AMDGCN_GFX705 = 0x03b, EF_AMDGPU_MACH_AMDGCN_GFX805 = 0x03c, + EF_AMDGPU_MACH_AMDGCN_GFX90A = 0x03f, EF_AMDGPU_MACH_AMDGCN_FIRST = EF_AMDGPU_MACH_AMDGCN_GFX600, - EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX805, + EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX90A, // Indicates if the "xnack" target feature is enabled for all code contained // in the object. diff --git a/rocclr/hip_code_object.cpp b/rocclr/hip_code_object.cpp index 43a328419a..6900fde7f9 100755 --- a/rocclr/hip_code_object.cpp +++ b/rocclr/hip_code_object.cpp @@ -156,6 +156,11 @@ static bool getProcName(uint32_t EFlags, std::string& proc_name, bool& xnackSupp sramEccSupported = false; proc_name = "gfx909"; break; + case EF_AMDGPU_MACH_AMDGCN_GFX90A: + xnackSupported = true; + sramEccSupported = true; + proc_name = "gfx90a"; + break; case EF_AMDGPU_MACH_AMDGCN_GFX90C: xnackSupported = true; sramEccSupported = false;