diff --git a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings.h b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings.h index 75ca45c11d..0e5f941b1e 100644 --- a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings.h +++ b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings.h @@ -207,6 +207,7 @@ static const char* calTargetMapping[] = { "Iceland", "Tonga", "Mullins", "Fiji", "Carrizo", "Ellesmere", "Baffin", "", "Stoney", + "Bee", }; #include "utils/v0_8/target_mappings_amdil.h" diff --git a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil.h b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil.h index ac985ad73f..f7a5e363db 100644 --- a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil.h +++ b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil.h @@ -88,6 +88,7 @@ static const TargetMapping AMDILTargetMapping_0_8[] = { UnknownTarget, UnknownTarget, UnknownTarget, + { "VI", "Bee", "bee", amd::GPU_Library_CI, VI_LEXA_V_A0, F_SI_BASE, true, true, FAMILY_VI }, { "CZ", "Carrizo", "carrizo", amd::GPU_Library_CI, CARRIZO_A0, F_SI_BASE, true, true, FAMILY_CZ }, { "TN", "Devastator", "trinity", amd::GPU_Library_Evergreen, TN_DEVASTATOR_W_A0, F_NI_EXT, false, false, FAMILY_TN }, { "TN", "Devastator", "trinity", amd::GPU_Library_Evergreen, TN_DEVASTATOR_W_A1, F_NI_EXT, false, false, FAMILY_TN }, diff --git a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil64.h b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil64.h index a6a476c453..994762343c 100644 --- a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil64.h +++ b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_amdil64.h @@ -39,6 +39,7 @@ static const TargetMapping AMDIL64TargetMapping_0_8[] = { UnknownTarget, UnknownTarget, UnknownTarget, + { "VI", "Bee", "bee", amd::GPU64_Library_CI, VI_LEXA_V_A0, F_SI_64BIT_PTR, true, true, FAMILY_VI }, { "CZ", "Carrizo", "carrizo", amd::GPU64_Library_CI, CARRIZO_A0, F_SI_64BIT_PTR, true, true, FAMILY_CZ }, { "VI", "Iceland", "iceland", amd::GPU64_Library_CI, VI_ICELAND_M_A0, F_SI_64BIT_PTR, true, true, FAMILY_VI }, { "VI", "Tonga", "tonga", amd::GPU64_Library_CI, VI_TONGA_P_A0, F_SI_64BIT_PTR, true, true, FAMILY_VI }, diff --git a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h index 434e5c17e3..eda7e5b734 100644 --- a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h +++ b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail.h @@ -26,6 +26,7 @@ static const TargetMapping HSAILTargetMapping_0_8[] = { UnknownTarget, UnknownTarget, UnknownTarget, + { "VI", "Bee", "VI", amd::GPU_Library_HSAIL, VI_LEXA_V_A0, F_VI_BASE, true, true, FAMILY_VI }, { "CZ", "Carrizo", "VI", amd::GPU_Library_HSAIL, CARRIZO_A0, F_VI_BASE, true, true, FAMILY_CZ }, { "VI", "Fiji", "VI", amd::GPU_Library_HSAIL, VI_FIJI_P_A0, F_VI_BASE, true, true, FAMILY_VI }, { "CZ", "Stoney", "VI", amd::GPU_Library_HSAIL, STONEY_A0, F_VI_BASE, true, true, FAMILY_CZ }, diff --git a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h index 9eb2f1e9e9..485a3b4e5b 100644 --- a/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h +++ b/projects/clr/rocclr/compiler/lib/utils/v0_8/target_mappings_hsail64.h @@ -25,6 +25,7 @@ static const TargetMapping HSAIL64TargetMapping_0_8[] = { UnknownTarget, UnknownTarget, UnknownTarget, + { "VI", "Bee", "VI", amd::GPU_Library_HSAIL, VI_LEXA_V_A0, F_VI_BASE, true, true, FAMILY_VI }, { "CZ", "Carrizo", "VI", amd::GPU_Library_HSAIL, CARRIZO_A0, F_VI_BASE, true, true, FAMILY_CZ }, { "VI", "Fiji", "VI", amd::GPU_Library_HSAIL, VI_FIJI_P_A0, F_VI_BASE, true, true, FAMILY_VI }, { "CZ", "Stoney", "VI", amd::GPU_Library_HSAIL, STONEY_A0, F_VI_BASE, true, true, FAMILY_CZ }, diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp b/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp index 1dffd50ff5..6c66ff4ff2 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp @@ -127,6 +127,7 @@ static const AMDDeviceInfo DeviceInfo[] = { /* CAL_TARGET_BAFFIN */ { ED_ATI_CAL_MACHINE_BAFFIN_ISA, "Baffin", "baffin", 4, 16, 1, 256, 64 * Ki, 32, 800 }, /* CAL_TARGET_GREENLAND */ { ED_ATI_CAL_MACHINE_GREENLAND_ISA, "", "", 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, "Bee", "bee", 4, 16, 1, 256, 64 * Ki, 32, 800 }, }; enum gfx_handle { diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp index aeef022c3e..c0a25bf260 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp @@ -154,6 +154,7 @@ NullDevice::create(CALtarget target) case CAL_TARGET_BAFFIN: case CAL_TARGET_GREENLAND: case CAL_TARGET_STONEY: + case CAL_TARGET_LEXA: calAttr.doublePrecision = CAL_TRUE; calAttr.isOpenCL200Device = CAL_TRUE; break; diff --git a/projects/clr/rocclr/runtime/device/gpu/gpuprogram.cpp b/projects/clr/rocclr/runtime/device/gpu/gpuprogram.cpp index fe774f2d25..76b7a159e4 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpuprogram.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpuprogram.cpp @@ -2390,6 +2390,7 @@ bool ORCAHSALoaderContext::IsaSupportedByAgent(hsa_agent_t agent, hsa_isa_t isa) case ED_ATI_CAL_MACHINE_FIJI_ISA: case ED_ATI_CAL_MACHINE_ELLESMERE_ISA: case ED_ATI_CAL_MACHINE_BAFFIN_ISA: + case ED_ATI_CAL_MACHINE_LEXA_ISA: // gfx800 ISA has only sgrps limited and can be loaded. // gfx801 ISA has XNACK limitations and can be loaded. return isa.handle == gfx800 || isa.handle == gfx801 || isa.handle == gfx804; diff --git a/projects/clr/rocclr/runtime/device/gpu/gpusettings.cpp b/projects/clr/rocclr/runtime/device/gpu/gpusettings.cpp index 2e38003502..caba9cf5cc 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpusettings.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpusettings.cpp @@ -191,6 +191,7 @@ Settings::create( case CAL_TARGET_FIJI: case CAL_TARGET_ELLESMERE: case CAL_TARGET_BAFFIN: + case CAL_TARGET_LEXA: // Disable tiling aperture on VI+ linearPersistentImage_ = true; // Keep this false even though we have support diff --git a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp index 711135c9f0..68994f1492 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp @@ -493,6 +493,10 @@ CALGSLDevice::SetupContext(int32 &asic_id) m_target = CAL_TARGET_STONEY; m_elfmachine = ED_ATI_CAL_MACHINE_STONEY_ISA; break; + case GSL_ATIASIC_ID_LEXA: + m_target = CAL_TARGET_LEXA; + m_elfmachine = ED_ATI_CAL_MACHINE_LEXA_ISA; + break; default: // 6XX is not supported m_adp->deleteContext(temp_cs); diff --git a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h index e6acd3b1e6..c6053e258a 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h +++ b/projects/clr/rocclr/runtime/device/gpu/gslbe/src/rt/caltarget.h @@ -45,7 +45,8 @@ typedef enum CALtargetEnum { CAL_TARGET_BAFFIN, /**< BAFFIN GPU ISA*/ CAL_TARGET_GREENLAND, /**< GREENLAND GPU ISA*/ CAL_TARGET_STONEY, /**< STONEY GPU ISA*/ - CAL_TARGET_LAST = CAL_TARGET_STONEY, /**< last */ + CAL_TARGET_LEXA, /**< LEXA GPU ISA*/ + CAL_TARGET_LAST = CAL_TARGET_LEXA, /**< last */ //##END_PRIVATE## } CALtarget;