Add gfx1013 support
Change-Id: I7122caea3ef2254b50bde25ec545116685452116
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
[ROCm/ROCR-Runtime commit: 80206af91e]
This commit is contained in:
@@ -602,8 +602,9 @@ void GpuAgent::InitDma() {
|
||||
auto blit_lambda = [this](bool use_xgmi, lazy_ptr<core::Queue>& queue) {
|
||||
Flag::SDMA_OVERRIDE sdma_override = core::Runtime::runtime_singleton_->flag().enable_sdma();
|
||||
|
||||
// User SDMA queues are unstable on gfx8.
|
||||
bool use_sdma = ((isa_->GetMajorVersion() != 8));
|
||||
// User SDMA queues are unstable on gfx8 and unsupported on gfx1013.
|
||||
bool use_sdma =
|
||||
((isa_->GetMajorVersion() != 8) && (isa_->GetVersion() != std::make_tuple(10, 1, 3)));
|
||||
if (sdma_override != Flag::SDMA_DEFAULT) use_sdma = (sdma_override == Flag::SDMA_ENABLE);
|
||||
|
||||
if (use_sdma && (HSA_PROFILE_BASE == profile_)) {
|
||||
|
||||
@@ -305,6 +305,9 @@ constexpr size_t hsa_name_size = 63;
|
||||
ISAREG_ENTRY_GEN("gfx1012", 10, 1, 2, unsupported, any)
|
||||
ISAREG_ENTRY_GEN("gfx1012:xnack-", 10, 1, 2, unsupported, disabled)
|
||||
ISAREG_ENTRY_GEN("gfx1012:xnack+", 10, 1, 2, unsupported, enabled)
|
||||
ISAREG_ENTRY_GEN("gfx1013", 10, 1, 3, unsupported, any)
|
||||
ISAREG_ENTRY_GEN("gfx1013:xnack-", 10, 1, 3, unsupported, disabled)
|
||||
ISAREG_ENTRY_GEN("gfx1013:xnack+", 10, 1, 3, unsupported, enabled)
|
||||
ISAREG_ENTRY_GEN("gfx1030", 10, 3, 0, unsupported, unsupported)
|
||||
ISAREG_ENTRY_GEN("gfx1031", 10, 3, 1, unsupported, unsupported)
|
||||
ISAREG_ENTRY_GEN("gfx1032", 10, 3, 2, unsupported, unsupported)
|
||||
|
||||
@@ -88,6 +88,7 @@ extern uint8_t ocl_blit_object_gfx90c[];
|
||||
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_gfx1013[];
|
||||
extern uint8_t ocl_blit_object_gfx1030[];
|
||||
extern uint8_t ocl_blit_object_gfx1031[];
|
||||
extern uint8_t ocl_blit_object_gfx1032[];
|
||||
@@ -1007,6 +1008,8 @@ hsa_status_t BlitKernel::GetPatchedBlitObject(const char* agent_name,
|
||||
*blit_code_object = ocl_blit_object_gfx1011;
|
||||
} else if (sname == "gfx1012") {
|
||||
*blit_code_object = ocl_blit_object_gfx1012;
|
||||
} else if (sname == "gfx1013") {
|
||||
*blit_code_object = ocl_blit_object_gfx1013;
|
||||
} else if (sname == "gfx1030") {
|
||||
*blit_code_object = ocl_blit_object_gfx1030;
|
||||
} else if (sname == "gfx1031") {
|
||||
|
||||
@@ -69,7 +69,7 @@ endif()
|
||||
|
||||
# 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;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035")
|
||||
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")
|
||||
endif()
|
||||
set( TARGET_DEVICES ${TARGET_DEVICES} CACHE STRING "Build targets" FORCE )
|
||||
|
||||
|
||||
@@ -120,10 +120,11 @@ enum : unsigned {
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX90A = 0x03f,
|
||||
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X40 = 0x040,
|
||||
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X41 = 0x041,
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX1013 = 0x042,
|
||||
|
||||
// First/last AMDGCN-based processors.
|
||||
EF_AMDGPU_MACH_AMDGCN_FIRST = EF_AMDGPU_MACH_AMDGCN_GFX600,
|
||||
EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX90A,
|
||||
EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX1013,
|
||||
|
||||
// Indicates if the "xnack" target feature is enabled for all code contained
|
||||
// in the object.
|
||||
|
||||
@@ -573,6 +573,7 @@ namespace code {
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1010: name = "gfx1010"; xnack_supported = true; sramecc_supported = false; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1011: name = "gfx1011"; xnack_supported = true; sramecc_supported = false; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1012: name = "gfx1012"; xnack_supported = true; sramecc_supported = false; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1013: name = "gfx1013"; xnack_supported = true; sramecc_supported = false; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1030: name = "gfx1030"; xnack_supported = false; sramecc_supported = false; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1031: name = "gfx1031"; xnack_supported = false; sramecc_supported = false; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1032: name = "gfx1032"; xnack_supported = false; sramecc_supported = false; break;
|
||||
|
||||
Reference in New Issue
Block a user