Add gfx1031 support

Change-Id: I855f7fe8d096331d0c1da10b10adf6b1e75a527f
Bu işleme şunda yer alıyor:
Chris Freehill
2020-07-20 22:54:17 -05:00
işlemeyi yapan: Sean Keely
ebeveyn 2a0c6774fb
işleme 4944c74189
9 değiştirilmiş dosya ile 18 ekleme ve 4 silme
+1 -1
Dosyayı Görüntüle
@@ -41,7 +41,7 @@ set(PROJECT_NAME "rocrtst64")
project (${PROJECT_NAME})
set(DEFAULT_TARGETS "gfx803;gfx701;gfx801;gfx802;gfx900;gfx902;gfx906;gfx908;gfx1010;gfx1011;gfx1012;gfx1030")
set(DEFAULT_TARGETS "gfx803;gfx701;gfx801;gfx802;gfx900;gfx902;gfx906;gfx908;gfx1010;gfx1011;gfx1012;gfx1030;gfx1031")
#
# Currently support for Windows platform is not present
+2
Dosyayı Görüntüle
@@ -1890,6 +1890,8 @@ static std::string ConvertOldTargetNameToNew(
NewName = "amdgcn-amd-amdhsa--gfx1012";
else if (OldName == "AMD:AMDGPU:10:3:0")
NewName = "amdgcn-amd-amdhsa--gfx1030";
else if (OldName == "AMD:AMDGPU:10:3:1")
NewName = "amdgcn-amd-amdhsa--gfx1031";
else
assert(false && "Unhandled target");
+2 -1
Dosyayı Görüntüle
@@ -238,7 +238,8 @@ const IsaRegistry::IsaMap IsaRegistry::GetSupportedIsas() {
ISAREG_ENTRY_GEN(10, 1, 2, true, false)
ISAREG_ENTRY_GEN(10, 3, 0, false, false)
ISAREG_ENTRY_GEN(10, 3, 0, true, false)
ISAREG_ENTRY_GEN(10, 3, 1, false, false)
ISAREG_ENTRY_GEN(10, 3, 1, true, false)
return supported_isas;
}
+4
Dosyayı Görüntüle
@@ -84,6 +84,7 @@ extern uint8_t ocl_blit_object_gfx1010[];
extern uint8_t ocl_blit_object_gfx1011[];
extern uint8_t ocl_blit_object_gfx1012[];
extern uint8_t ocl_blit_object_gfx1030[];
extern uint8_t ocl_blit_object_gfx1031[];
// Arguments inserted by OCL compiler, all zero here.
struct OCLHiddenArgs {
@@ -1009,6 +1010,9 @@ hsa_status_t BlitKernel::GetPatchedBlitObject(const char* agent_name,
case 1030:
*blit_code_object = ocl_blit_object_gfx1030;
break;
case 1031:
*blit_code_object = ocl_blit_object_gfx1031;
break;
default:
return HSA_STATUS_ERROR_INVALID_ISA_NAME;
}
+1 -1
Dosyayı Görüntüle
@@ -75,7 +75,7 @@ set( XNACK_DEVS ${XNACK_DEVS} CACHE STRING "XNACK targets" FORCE )
# Determine the target devices if not specified
if (NOT DEFINED TARGET_DEVICES)
set (TARGET_DEVICES "gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx900;gfx902;gfx904;gfx906;gfx908;gfx1010;gfx1011;gfx1012;gfx1030")
set (TARGET_DEVICES "gfx700;gfx701;gfx702;gfx801;gfx802;gfx803;gfx900;gfx902;gfx904;gfx906;gfx908;gfx1010;gfx1011;gfx1012;gfx1030;gfx1031")
endif()
set( TARGET_DEVICES ${TARGET_DEVICES} CACHE STRING "Build targets" FORCE )
+1
Dosyayı Görüntüle
@@ -72,6 +72,7 @@
#define EF_AMDGPU_MACH_AMDGCN_GFX1011_LC 0x034
#define EF_AMDGPU_MACH_AMDGCN_GFX1012_LC 0x035
#define EF_AMDGPU_MACH_AMDGCN_GFX1030_LC 0x036
#define EF_AMDGPU_MACH_AMDGCN_GFX1031_LC 0x037
#define EF_AMDGPU_XNACK_LC 0x100
#define EF_AMDGPU_SRAM_ECC_LC 0x200
+3
Dosyayı Görüntüle
@@ -588,6 +588,8 @@ namespace code {
NewName = "amdgcn-amd-amdhsa--gfx1012";
else if (OldName == "AMD:AMDGPU:10:3:0")
NewName = "amdgcn-amd-amdhsa--gfx1030";
else if (OldName == "AMD:AMDGPU:10:3:1")
NewName = "amdgcn-amd-amdhsa--gfx1031";
else
assert(false && "Unhandled target");
@@ -644,6 +646,7 @@ namespace code {
case EF_AMDGPU_MACH_AMDGCN_GFX1011_LC: isaName += "gfx1011"; break;
case EF_AMDGPU_MACH_AMDGCN_GFX1012_LC: isaName += "gfx1012"; break;
case EF_AMDGPU_MACH_AMDGCN_GFX1030_LC: isaName += "gfx1030"; break;
case EF_AMDGPU_MACH_AMDGCN_GFX1031_LC: isaName += "gfx1031"; break;
default: return false;
}
+3
Dosyayı Görüntüle
@@ -97,6 +97,7 @@ namespace loader {
gfx1011.handle = 1011;
gfx1012.handle = 1012;
gfx1030.handle = 1030;
gfx1031.handle = 1031;
}
hsa_isa_t OfflineLoaderContext::IsaFromName(const char *name)
@@ -136,6 +137,8 @@ namespace loader {
return gfx1012;
} else if (sname == "AMD:AMDGPU:10:3:0") {
return gfx1030;
} else if (sname == "AMD:AMDGPU:10:3:1") {
return gfx1031;
}
assert(0);
+1 -1
Dosyayı Görüntüle
@@ -57,7 +57,7 @@ namespace loader {
hsa_isa_t invalid;
hsa_isa_t gfx700, gfx701, gfx800, gfx801, gfx802, gfx803, gfx804, gfx810;
hsa_isa_t gfx900, gfx901, gfx902, gfx903, gfx908;
hsa_isa_t gfx1010, gfx1011, gfx1012, gfx1030;
hsa_isa_t gfx1010, gfx1011, gfx1012, gfx1030, gfx1031;
std::ostream& out;
typedef std::set<void*> PointerSet;
PointerSet pointers;