From fd050f9ce5389271edbd226a6382cb83bf0ad3a1 Mon Sep 17 00:00:00 2001 From: foreman Date: Mon, 17 Aug 2015 13:47:02 -0400 Subject: [PATCH] P4 to Git Change 1181122 by gandryey@gera-dev-w7 on 2015/08/17 13:35:16 ECR #304775 - Disable Pre-SI asics initialization in runtime. EG and NI are no longer supported from 15.30 Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#125 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#519 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#135 edit [ROCm/clr commit: ab074c69c70e476db18a01b2f966005f4ad506c9] --- .../clr/rocclr/runtime/device/gpu/gpudefs.hpp | 26 +++++++++---------- .../rocclr/runtime/device/gpu/gpudevice.cpp | 19 ++++++-------- .../device/gpu/gslbe/src/rt/GSLDevice.cpp | 11 ++++++++ 3 files changed, 32 insertions(+), 24 deletions(-) diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp b/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp index 758fbf5e01..6c0f481289 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudefs.hpp @@ -95,23 +95,23 @@ static const AMDDeviceInfo DeviceInfo[] = { /* CAL_TARGET_770 */ { ED_ATI_CAL_MACHINE_R770_ISA, "", "", 0, 0, 0, 0, 0, 0, 0 }, /* CAL_TARGET_710 */ { ED_ATI_CAL_MACHINE_R710_ISA, "", "", 0, 0, 0, 0, 0, 0, 0 }, /* CAL_TARGET_730 */ { ED_ATI_CAL_MACHINE_R730_ISA, "", "", 0, 0, 0, 0, 0, 0, 0 }, -/* CAL_TARGET_CYPRESS */ { ED_ATI_CAL_MACHINE_CYPRESS_ISA, "Cypress", "cypress", 1, 16, 5, 256, 32 * Ki, 32, 400 }, -/* CAL_TARGET_JUNIPER */ { ED_ATI_CAL_MACHINE_JUNIPER_ISA, "Juniper", "juniper", 1, 16, 5, 256, 32 * Ki, 32, 400 }, -/* CAL_TARGET_REDWOOD */ { ED_ATI_CAL_MACHINE_REDWOOD_ISA, "Redwood", "redwood", 1, 16, 5, 256, 32 * Ki, 16, 400 }, -/* CAL_TARGET_CEDAR */ { ED_ATI_CAL_MACHINE_CEDAR_ISA, "Cedar", "cedar", 1, 8, 5, 256, 32 * Ki, 16, 400 }, -/* CAL_TARGET_SUMO */ { ED_ATI_CAL_MACHINE_SUMO_ISA, "WinterPark", "redwood", 1, 16, 5, 256, 32 * Ki, 16, 400 }, -/* CAL_TARGET_SUPERSUMO*/ { ED_ATI_CAL_MACHINE_SUPERSUMO_ISA, "BeaverCreek", "redwood", 1, 16, 5, 256, 32 * Ki, 16, 400 }, -/* CAL_TARGET_WRESTLER*/ { ED_ATI_CAL_MACHINE_WRESTLER_ISA, "Loveland", "cedar", 1, 8, 5, 256, 32 * Ki, 16, 400 }, -/* CAL_TARGET_CAYMAN */ { ED_ATI_CAL_MACHINE_CAYMAN_ISA, "Cayman", "cayman", 1, 16, 4, 256, 32 * Ki, 32, 500 }, +/* CAL_TARGET_CYPRESS */ { ED_ATI_CAL_MACHINE_CYPRESS_ISA, "", "", 1, 16, 5, 256, 32 * Ki, 32, 400 }, +/* CAL_TARGET_JUNIPER */ { ED_ATI_CAL_MACHINE_JUNIPER_ISA, "", "", 1, 16, 5, 256, 32 * Ki, 32, 400 }, +/* CAL_TARGET_REDWOOD */ { ED_ATI_CAL_MACHINE_REDWOOD_ISA, "", "", 1, 16, 5, 256, 32 * Ki, 16, 400 }, +/* CAL_TARGET_CEDAR */ { ED_ATI_CAL_MACHINE_CEDAR_ISA, "", "", 1, 8, 5, 256, 32 * Ki, 16, 400 }, +/* CAL_TARGET_SUMO */ { ED_ATI_CAL_MACHINE_SUMO_ISA, "", "", 1, 16, 5, 256, 32 * Ki, 16, 400 }, +/* CAL_TARGET_SUPERSUMO*/ { ED_ATI_CAL_MACHINE_SUPERSUMO_ISA, "", "", 1, 16, 5, 256, 32 * Ki, 16, 400 }, +/* CAL_TARGET_WRESTLER*/ { ED_ATI_CAL_MACHINE_WRESTLER_ISA, "", "", 1, 8, 5, 256, 32 * Ki, 16, 400 }, +/* CAL_TARGET_CAYMAN */ { ED_ATI_CAL_MACHINE_CAYMAN_ISA, "", "", 1, 16, 4, 256, 32 * Ki, 32, 500 }, /* CAL_TARGET_KAUAI */ { ED_ATI_CAL_MACHINE_KAUAI_ISA, "", "", 1, 16, 5, 256, 32 * Ki, 32, 400 }, -/* CAL_TARGET_BARTS */ { ED_ATI_CAL_MACHINE_BARTS_ISA , "Barts", "barts", 1, 16, 5, 256, 32 * Ki, 32, 400 }, -/* CAL_TARGET_TURKS */ { ED_ATI_CAL_MACHINE_TURKS_ISA , "Turks", "turks", 1, 16, 5, 256, 32 * Ki, 32, 400 }, -/* CAL_TARGET_CAICOS */ { ED_ATI_CAL_MACHINE_CAICOS_ISA, "Caicos", "caicos", 1, 16, 5, 256, 32 * Ki, 32, 400 }, +/* CAL_TARGET_BARTS */ { ED_ATI_CAL_MACHINE_BARTS_ISA , "", "", 1, 16, 5, 256, 32 * Ki, 32, 400 }, +/* CAL_TARGET_TURKS */ { ED_ATI_CAL_MACHINE_TURKS_ISA , "", "", 1, 16, 5, 256, 32 * Ki, 32, 400 }, +/* CAL_TARGET_CAICOS */ { ED_ATI_CAL_MACHINE_CAICOS_ISA, "", "", 1, 16, 5, 256, 32 * Ki, 32, 400 }, /* CAL_TARGET_TAHITI */ { ED_ATI_CAL_MACHINE_TAHITI_ISA, "Tahiti", "tahiti", 4, 16, 1, 256, 64 * Ki, 32, 600 }, /* CAL_TARGET_PITCAIRN */ { ED_ATI_CAL_MACHINE_PITCAIRN_ISA, "Pitcairn", "pitcairn", 4, 16, 1, 256, 64 * Ki, 32, 600 }, /* CAL_TARGET_CAPEVERDE */ { ED_ATI_CAL_MACHINE_CAPEVERDE_ISA, "Capeverde", "capeverde", 4, 16, 1, 256, 64 * Ki, 32, 600 }, -/* CAL_TARGET_DEVASTATOR */ { ED_ATI_CAL_MACHINE_DEVASTATOR_ISA,"Devastator", "trinity", 1, 16, 4, 256, 32 * Ki, 32, 500 }, -/* CAL_TARGET_SCRAPPER */ { ED_ATI_CAL_MACHINE_SCRAPPER_ISA, "Scrapper", "trinity", 1, 16, 4, 256, 32 * Ki, 32, 500 }, +/* CAL_TARGET_DEVASTATOR */ { ED_ATI_CAL_MACHINE_DEVASTATOR_ISA,"", "", 1, 16, 4, 256, 32 * Ki, 32, 500 }, +/* CAL_TARGET_SCRAPPER */ { ED_ATI_CAL_MACHINE_SCRAPPER_ISA, "", "", 1, 16, 4, 256, 32 * Ki, 32, 500 }, /* CAL_TARGET_OLAND */ { ED_ATI_CAL_MACHINE_OLAND_ISA, "Oland", "oland", 4, 16, 1, 256, 64 * Ki, 32, 600 }, /* CAL_TARGET_BONAIRE */ { ED_ATI_CAL_MACHINE_BONAIRE_ISA, "Bonaire", "bonaire", 4, 16, 1, 256, 64 * Ki, 32, 702 }, /* CAL_TARGET_SPECTRE */ { ED_ATI_CAL_MACHINE_SPECTRE_ISA, "Spectre", "spectre", 4, 16, 1, 256, 64 * Ki, 32, 701 }, diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp index f36cffbf71..463d32be16 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp @@ -73,13 +73,12 @@ NullDevice::NullDevice() bool NullDevice::init() { - bool result = false; std::vector devices; devices = getDevices(CL_DEVICE_TYPE_GPU, false); // Loop through all supported devices and create each of them - for (uint id = CAL_TARGET_CYPRESS; id <= CAL_TARGET_LAST; ++id) { + for (uint id = CAL_TARGET_TAHITI; id <= CAL_TARGET_LAST; ++id) { bool foundActive = false; if (gpu::DeviceInfo[id].targetName_[0] == '\0') { @@ -106,13 +105,12 @@ NullDevice::init() delete dev; } else { - result |= true; dev->registerDevice(); } } } - return result; + return true; } bool @@ -126,17 +124,17 @@ NullDevice::create(CALtarget target) calTarget_ = calAttr.target = target; hwInfo_ = &DeviceInfo[calTarget_]; + assert((target >= CAL_TARGET_TAHITI) && + (target != CAL_TARGET_SCRAPPER) && + (target != CAL_TARGET_DEVASTATOR)); + // Force double if it could be supported switch (target) { - case CAL_TARGET_CAYMAN: - case CAL_TARGET_CYPRESS: case CAL_TARGET_PITCAIRN: case CAL_TARGET_CAPEVERDE: case CAL_TARGET_TAHITI: case CAL_TARGET_OLAND: case CAL_TARGET_HAINAN: - case CAL_TARGET_DEVASTATOR: - case CAL_TARGET_SCRAPPER: calAttr.doublePrecision = CAL_TRUE; break; case CAL_TARGET_BONAIRE: @@ -1211,7 +1209,6 @@ bool Device::init() { CALuint numDevices = 0; - bool result = false; bool useDeviceList = false; requestedDevices_t requestedDevices; @@ -1274,7 +1271,7 @@ Device::init() for (; ordinal < numDevices; ++ordinal) { // Create the GPU device object Device *d = new Device(); - result = (NULL != d) && d->create(ordinal, numDevices); + bool result = (NULL != d) && d->create(ordinal, numDevices); if (useDeviceList) { result &= (requestedDevices.find(ordinal) != requestedDevices.end()); } @@ -1287,7 +1284,7 @@ Device::init() delete d; } } - return result; + return true; } void 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 da835c87dd..2b943bf193 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 @@ -341,6 +341,17 @@ CALGSLDevice::SetupAdapter(int32 &asic_id) m_vpucount = m_adp->getNumLinkedVPUs(); asic_id = m_adp->getAsicID(); + if ((asic_id < GSL_ATIASIC_ID_TAHITI_P) || + (asic_id == GSL_ATIASIC_ID_DEVASTATOR) || + (asic_id == GSL_ATIASIC_ID_SCRAPPER)) + { + LogPrintfInfo("Unsupported legacy ASIC(%d) found!\n", asic_id); + // close the adaptor + gsAdaptor::closeAdaptor(m_adp); + m_adp = 0; + return false; + } + bool hasDmaEngine = m_adp->findDMAEngine(); bool hasComputeEngine = m_adp->findComputeEngine();