diff --git a/rocclr/compiler/lib/utils/v0_8/libUtils.cpp b/rocclr/compiler/lib/utils/v0_8/libUtils.cpp index 699a0d015b..290cce478e 100644 --- a/rocclr/compiler/lib/utils/v0_8/libUtils.cpp +++ b/rocclr/compiler/lib/utils/v0_8/libUtils.cpp @@ -623,7 +623,8 @@ int getIsaType(const aclTargetInfo *target) case FAMILY_RV: switch (Mapping.chip_enum) { default: return 902; - case RAVEN_A0: return Mapping.xnack_supported ? 903 : 902; + case RAVEN_A0: + case RENOIR_A0: return Mapping.xnack_supported ? 903 : 902; } case FAMILY_NV: switch (Mapping.chip_enum) { diff --git a/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h b/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h index d7f96618fb..c906d50a55 100644 --- a/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h +++ b/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h @@ -46,7 +46,9 @@ static const TargetMapping HSAILTargetMapping_0_8[] = { { "AI", "gfx901", "GFX9", amd::GPU_Library_HSAIL, AI_GREENLAND_P_A0, F_AI_BASE, true, false, FAMILY_AI ,true }, { "AI", "gfx901", "GFX9", amd::GPU_Library_HSAIL, AI_GREENLAND_P_A1, F_AI_BASE, true, true, FAMILY_AI ,true }, { "RV", "gfx902", "GFX9", amd::GPU_Library_HSAIL, RAVEN_A0, F_AI_BASE, true, true, FAMILY_RV, false }, + { "RV", "gfx902", "GFX9", amd::GPU_Library_HSAIL, RENOIR_A0, F_AI_BASE, true, true, FAMILY_RV, false }, { "RV", "gfx903", "GFX9", amd::GPU_Library_HSAIL, RAVEN_A0, F_AI_BASE, true, true, FAMILY_RV, true }, + { "RV", "gfx903", "GFX9", amd::GPU_Library_HSAIL, RENOIR_A0, F_AI_BASE, true, true, FAMILY_RV, true }, { "AI", "gfx904", "GFX9", amd::GPU_Library_HSAIL, AI_VEGA12_P_A0, F_AI_BASE, true, true, FAMILY_AI, false }, { "AI", "gfx905", "GFX9", amd::GPU_Library_HSAIL, AI_VEGA12_P_A0, F_AI_BASE, true, true, FAMILY_AI, true }, { "AI", "gfx906", "GFX9", amd::GPU_Library_HSAIL, AI_VEGA20_P_A0, F_AI_BASE, true, true, FAMILY_AI, false }, @@ -71,6 +73,8 @@ static const TargetMapping HSAILTargetMapping_0_8[] = { UnknownTarget, UnknownTarget, UnknownTarget, + UnknownTarget, + UnknownTarget, #endif InvalidTarget }; diff --git a/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h b/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h index 709d520a50..6399885cd4 100644 --- a/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h +++ b/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h @@ -45,7 +45,9 @@ static const TargetMapping HSAIL64TargetMapping_0_8[] = { { "AI", "gfx901", "GFX9", amd::GPU_Library_HSAIL, AI_GREENLAND_P_A0, F_AI_BASE, true, false, FAMILY_AI, true }, { "AI", "gfx901", "GFX9", amd::GPU_Library_HSAIL, AI_GREENLAND_P_A1, F_AI_BASE, true, true, FAMILY_AI, true }, { "RV", "gfx902", "GFX9", amd::GPU_Library_HSAIL, RAVEN_A0, F_AI_BASE, true, true, FAMILY_RV, false }, + { "RV", "gfx902", "GFX9", amd::GPU_Library_HSAIL, RENOIR_A0, F_AI_BASE, true, true, FAMILY_RV, false }, { "RV", "gfx903", "GFX9", amd::GPU_Library_HSAIL, RAVEN_A0, F_AI_BASE, true, true, FAMILY_RV, true }, + { "RV", "gfx903", "GFX9", amd::GPU_Library_HSAIL, RENOIR_A0, F_AI_BASE, true, true, FAMILY_RV, true }, { "AI", "gfx904", "GFX9", amd::GPU_Library_HSAIL, AI_VEGA12_P_A0, F_AI_BASE, true, true, FAMILY_AI, false }, { "AI", "gfx905", "GFX9", amd::GPU_Library_HSAIL, AI_VEGA12_P_A0, F_AI_BASE, true, true, FAMILY_AI, true }, { "AI", "gfx906", "GFX9", amd::GPU_Library_HSAIL, AI_VEGA20_P_A0, F_AI_BASE, true, true, FAMILY_AI, false }, @@ -69,6 +71,8 @@ static const TargetMapping HSAIL64TargetMapping_0_8[] = { UnknownTarget, UnknownTarget, UnknownTarget, + UnknownTarget, + UnknownTarget, #endif InvalidTarget }; diff --git a/rocclr/runtime/device/gpu/gpudefs.hpp b/rocclr/runtime/device/gpu/gpudefs.hpp index 265af5f198..f616bd6ef5 100644 --- a/rocclr/runtime/device/gpu/gpudefs.hpp +++ b/rocclr/runtime/device/gpu/gpudefs.hpp @@ -151,12 +151,14 @@ static const AMDDeviceInfo DeviceInfo[] = { IF(IS_BRAHMA, "", "gfx900"), 4, 16, 1, 256, 64 * Ki, 32, 900}, /* CAL_TARGET_STONEY */ {ED_ATI_CAL_MACHINE_STONEY_ISA, "Stoney", "stoney", 4, 16, 1, 256, 64 * Ki, 32, 800}, - /* CAL_TARGET_LEXA */ {ED_ATI_CAL_MACHINE_LEXA_ISA, "gfx804", "gfx804", 4, 16, 1, 256, 64 * Ki, + /* CAL_TARGET_LEXA */ {ED_ATI_CAL_MACHINE_LEXA_ISA, "gfx804", "gfx804", 4, 16, 1, 256, 64 * Ki, 32, 800}, /* CAL_TARGET_RAVEN */ {ED_ATI_CAL_MACHINE_RAVEN_ISA, IF(IS_BRAHMA, "", "gfx902"), IF(IS_BRAHMA, "", "gfx902"), 4, 16, 1, 256, 64 * Ki, 32, 900}, /* CAL_TARGET_RAVEN2 */ {ED_ATI_CAL_MACHINE_RAVEN2_ISA, IF(IS_BRAHMA, "", "gfx902"), IF(IS_BRAHMA, "", "gfx902"), 4, 16, 1, 256, 64 * Ki, 32, 900}, + /* CAL_TARGET_RENOIR */{ ED_ATI_CAL_MACHINE_RENOIR_ISA, IF(IS_BRAHMA, "", "gfx902"), + IF(IS_BRAHMA, "", "gfx902"), 4, 16, 1, 256, 64 * Ki, 32, 900 }, /* CAL_TARGET_POLARIS22 */ {ED_ATI_CAL_MACHINE_POLARIS22_ISA, IF(IS_BRAHMA, "", "gfx804"), IF(IS_BRAHMA, "", "gfx804"), 4, 16, 1, 256, 64 * Ki, 32, 800}, /* CAL_TARGET_VEGA12 */{ ED_ATI_CAL_MACHINE_VEGA12_ISA, IF(IS_BRAHMA, "", "gfx904"), diff --git a/rocclr/runtime/device/gpu/gpudevice.cpp b/rocclr/runtime/device/gpu/gpudevice.cpp index 44de000cd0..1671e92e12 100644 --- a/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/rocclr/runtime/device/gpu/gpudevice.cpp @@ -165,6 +165,7 @@ bool NullDevice::create(CALtarget target) { case CAL_TARGET_LEXA: case CAL_TARGET_RAVEN: case CAL_TARGET_RAVEN2: + case CAL_TARGET_RENOIR: case CAL_TARGET_POLARIS22: case CAL_TARGET_VEGA12: case CAL_TARGET_VEGA20: @@ -867,7 +868,8 @@ bool Device::create(CALuint ordinal, CALuint numOfDevices) { #if defined(BRAHMA) if (calTarget_ == CAL_TARGET_GREENLAND || calTarget_ == CAL_TARGET_RAVEN || - calTarget_ == CAL_TARGET_RAVEN2 || calTarget_ == CAL_TARGET_POLARIS22) { + calTarget_ == CAL_TARGET_RAVEN2 || calTarget_ == CAL_TARGET_POLARIS22 || + calTarget_ == CAL_TARGET_RENOIR) { return false; } #endif diff --git a/rocclr/runtime/device/gpu/gpuprogram.cpp b/rocclr/runtime/device/gpu/gpuprogram.cpp index bf2447f39d..2e4f86e6e1 100644 --- a/rocclr/runtime/device/gpu/gpuprogram.cpp +++ b/rocclr/runtime/device/gpu/gpuprogram.cpp @@ -1867,6 +1867,7 @@ bool ORCAHSALoaderContext::IsaSupportedByAgent(hsa_agent_t agent, hsa_isa_t isa) case ED_ATI_CAL_MACHINE_GREENLAND_ISA: return isa.handle == gfx900; case ED_ATI_CAL_MACHINE_RAVEN_ISA: + case ED_ATI_CAL_MACHINE_RENOIR_ISA: return isa.handle == gfx902 || isa.handle == gfx903; case ED_ATI_CAL_MACHINE_VEGA12_ISA: return isa.handle == gfx904; diff --git a/rocclr/runtime/device/gpu/gpusettings.cpp b/rocclr/runtime/device/gpu/gpusettings.cpp index 0eee49f942..061615ff87 100644 --- a/rocclr/runtime/device/gpu/gpusettings.cpp +++ b/rocclr/runtime/device/gpu/gpusettings.cpp @@ -156,6 +156,7 @@ bool Settings::create(const CALdeviceattribs& calAttr, bool reportAsOCL12Device, switch (target) { case CAL_TARGET_RAVEN: case CAL_TARGET_RAVEN2: + case CAL_TARGET_RENOIR: // APU systems for AI apuSystem_ = true; case CAL_TARGET_GREENLAND: diff --git a/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp b/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp index c101dbcdca..ce72529121 100644 --- a/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp +++ b/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp @@ -677,6 +677,10 @@ CALGSLDevice::SetupContext(int32 &asic_id) m_target = CAL_TARGET_VEGA20; m_elfmachine = ED_ATI_CAL_MACHINE_VEGA20_ISA; break; + case GSL_ATIASIC_ID_RENOIR: + m_target = CAL_TARGET_RENOIR; + m_elfmachine = ED_ATI_CAL_MACHINE_RENOIR_ISA; + break; default: // 6XX is not supported m_adp->deleteContext(temp_cs); diff --git a/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h b/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h index 5fcdd44340..188ecc28e9 100644 --- a/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h +++ b/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h @@ -51,7 +51,8 @@ typedef enum CALtargetEnum { CAL_TARGET_POLARIS22, /**< POLARIS22 GPU ISA*/ CAL_TARGET_VEGA12, /**< VEGA12 GPU ISA*/ CAL_TARGET_VEGA20, /**< VEGA20 GPU ISA*/ - CAL_TARGET_LAST = CAL_TARGET_VEGA20, /**< last */ + CAL_TARGET_RENOIR, /**< RENOIR GPU ISA*/ + CAL_TARGET_LAST = CAL_TARGET_RENOIR, /**< last */ //##END_PRIVATE## } CALtarget; diff --git a/rocclr/runtime/device/pal/palsettings.cpp b/rocclr/runtime/device/pal/palsettings.cpp index bed9eafa37..5168d51d39 100644 --- a/rocclr/runtime/device/pal/palsettings.cpp +++ b/rocclr/runtime/device/pal/palsettings.cpp @@ -218,6 +218,7 @@ bool Settings::create(const Pal::DeviceProperties& palProp, case Pal::AsicRevision::Vega10: case Pal::AsicRevision::Raven: case Pal::AsicRevision::Raven2: + case Pal::AsicRevision::Renoir: aiPlus_ = true; enableCoopGroups_ = IS_LINUX; enableCoopMultiDeviceGroups_ = IS_LINUX;