Initial changes for gfx1101, based on gfx1100/gfx1102 implementation.

Change-Id: I949c1027ccabf38b4f924590e42e7327dc550f73
Signed-off-by: David Belanger <david.belanger@amd.com>
Reviewed-by: Jonathan Kim <jonathan.kim@amd.com>
This commit is contained in:
David Belanger
2022-06-03 10:26:47 -04:00
gecommit door David Yat Sin
bovenliggende 39632a713e
commit a0d3db6e8d
6 gewijzigde bestanden met toevoegingen van 10 en 2 verwijderingen
@@ -50,7 +50,7 @@ set ( CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/RadeonOpenCompute/ROCR-Runt
set ( CPACK_RPM_PACKAGE_AUTOREQ 0 )
set(DEFAULT_TARGETS "gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx805;gfx810;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1102;gfx1103")
set(DEFAULT_TARGETS "gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx805;gfx810;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103")
#
# Currently support for Windows platform is not present
@@ -316,6 +316,7 @@ constexpr size_t hsa_name_size = 63;
ISAREG_ENTRY_GEN("gfx1035", 10, 3, 5, unsupported, unsupported)
ISAREG_ENTRY_GEN("gfx1036", 10, 3, 6, unsupported, unsupported)
ISAREG_ENTRY_GEN("gfx1100", 11, 0, 0, unsupported, unsupported)
ISAREG_ENTRY_GEN("gfx1101", 11, 0, 1, unsupported, unsupported)
ISAREG_ENTRY_GEN("gfx1102", 11, 0, 2, unsupported, unsupported)
ISAREG_ENTRY_GEN("gfx1103", 11, 0, 3, unsupported, unsupported)
#undef ISAREG_ENTRY_GEN
@@ -97,6 +97,7 @@ extern uint8_t ocl_blit_object_gfx1034[];
extern uint8_t ocl_blit_object_gfx1035[];
extern uint8_t ocl_blit_object_gfx1036[];
extern uint8_t ocl_blit_object_gfx1100[];
extern uint8_t ocl_blit_object_gfx1101[];
extern uint8_t ocl_blit_object_gfx1102[];
extern uint8_t ocl_blit_object_gfx1103[];
@@ -1030,6 +1031,8 @@ hsa_status_t BlitKernel::GetPatchedBlitObject(const char* agent_name,
*blit_code_object = ocl_blit_object_gfx1036;
} else if (sname == "gfx1100") {
*blit_code_object = ocl_blit_object_gfx1100;
} else if (sname == "gfx1101") {
*blit_code_object = ocl_blit_object_gfx1101;
} else if (sname == "gfx1102") {
*blit_code_object = ocl_blit_object_gfx1102;
} else if (sname == "gfx1103") {
@@ -47,7 +47,7 @@ find_package(Clang REQUIRED HINTS ${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm
# Determine the target devices if not specified
if (NOT DEFINED TARGET_DEVICES)
set (TARGET_DEVICES "gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx805;gfx810;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1102;gfx1103")
set (TARGET_DEVICES "gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx805;gfx810;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103")
endif()
set( TARGET_DEVICES ${TARGET_DEVICES} CACHE STRING "Build targets" FORCE )
@@ -124,6 +124,7 @@ enum : unsigned {
EF_AMDGPU_MACH_AMDGCN_GFX1013 = 0x042,
EF_AMDGPU_MACH_AMDGCN_GFX1103 = 0x044,
EF_AMDGPU_MACH_AMDGCN_GFX1036 = 0x045,
EF_AMDGPU_MACH_AMDGCN_GFX1101 = 0x046,
EF_AMDGPU_MACH_AMDGCN_GFX1102 = 0x047,
// First/last AMDGCN-based processors.
@@ -586,6 +586,7 @@ namespace code {
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1035: name = "gfx1035"; xnack_supported = false; sramecc_supported = false; break;
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1036: name = "gfx1036"; xnack_supported = false; sramecc_supported = false; break;
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1100: name = "gfx1100"; xnack_supported = false; sramecc_supported = false; break;
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1101: name = "gfx1101"; xnack_supported = false; sramecc_supported = false; break;
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1102: name = "gfx1102"; xnack_supported = false; sramecc_supported = false; break;
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1103: name = "gfx1103"; xnack_supported = false; sramecc_supported = false; break;
default: return false;
@@ -638,6 +639,8 @@ namespace code {
mach = ELF::EF_AMDGPU_MACH_AMDGCN_GFX90C;
else if (old_name == "AMD:AMDGPU:11:0:0")
mach = ELF::EF_AMDGPU_MACH_AMDGCN_GFX1100;
else if (old_name == "AMD:AMDGPU:11:0:1")
mach = ELF::EF_AMDGPU_MACH_AMDGCN_GFX1101;
else if (old_name == "AMD:AMDGPU:11:0:2")
mach = ELF::EF_AMDGPU_MACH_AMDGCN_GFX1102;
else if (old_name == "AMD:AMDGPU:11:0:3")