From 1a38be89720f4a3b91997a9cc9c0b6479673d770 Mon Sep 17 00:00:00 2001 From: Jason Tang Date: Wed, 24 Mar 2021 12:23:48 -0400 Subject: [PATCH] SWDEV-277559 - Remove AMDIL The rest of AMDIL support will be removed along with orca backend. Change-Id: I0462501e7147dc4b99870fd02034d0a4a0496e55 --- rocclr/device/device.cpp | 159 ++++++++++++++---------------- rocclr/device/device.hpp | 21 +--- rocclr/device/devprogram.cpp | 10 +- rocclr/device/gpu/gpubinary.cpp | 8 +- rocclr/device/gpu/gpudevice.cpp | 130 +++++------------------- rocclr/device/gpu/gpukernel.cpp | 2 +- rocclr/device/gpu/gpuprogram.cpp | 46 +-------- rocclr/device/gpu/gpuresource.cpp | 10 +- rocclr/device/gpu/gpusettings.cpp | 15 +-- rocclr/device/gpu/gpusettings.hpp | 1 - rocclr/device/pal/paldevice.cpp | 5 - rocclr/utils/flags.hpp | 3 - 12 files changed, 116 insertions(+), 294 deletions(-) diff --git a/rocclr/device/device.cpp b/rocclr/device/device.cpp index d3602017e2..5b640cc47a 100644 --- a/rocclr/device/device.cpp +++ b/rocclr/device/device.cpp @@ -113,79 +113,76 @@ std::pair Isa::supportedIsas() { // Supported Version Features Mem // SIMD Channel LDS LDS // SIMD/ SIMD Instr Bank Size/ Mem - // Target ID HSAIL ID AMD IL ID ROC PAL GSL Maj/Min/Stp SRAMECC XNACK CU Width Width Width CU Banks - {"gfx600", "Tahiti", "Tahiti", false, false, true, 6, 0, 0, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx601", "Pitcairn", "Pitcairn", false, false, true, 6, 0, 1, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Capeverde - {"gfx602", "Oland", "Oland", false, false, true, 6, 0, 2, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Hainan - {"gfx700", "Kaveri", "Kalindi", true, false, true, 7, 0, 0, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Spectre, Spooky, Kalindi - {"gfx701", "Hawaii", "Hawaii", true, false, true, 7, 0, 1, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Actually Hawaiipro - {"gfx702", "gfx702", nullptr, true, false, true, 7, 0, 2, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Actually Hawaii (can execute Hawiipro code) - {"gfx703", nullptr, nullptr, false, false, true, 7, 0, 3, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Mullins - {"gfx704", "Bonaire", "Bonaire", false, false, true, 7, 0, 4, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx705", "Mullins", "Mullins", false, false, true, 7, 0, 5, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Actually Godavari - {"gfx801", nullptr, nullptr, true, true, true, 8, 0, 1, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx801:xnack-", "Carrizo", "Carrizo", true, true, true, 8, 0, 1, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx801:xnack+", nullptr, nullptr, true, true, true, 8, 0, 1, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx802", "Tonga", "Tonga", true, true, true, 8, 0, 2, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Iceland - {"gfx803", "Fiji", "Fiji", true, true, true, 8, 0, 3, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Ellesmere/Polaris10, Baffin/Polaris11, Polaris12, Polaris22/VegaM - {"gfx805", nullptr, nullptr, true, true, true, 8, 0, 5, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Tongapro - {"gfx810", nullptr, nullptr, true, true, true, 8, 1, 0, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx810:xnack-", "Stoney", "Stoney", true, true, true, 8, 1, 0, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx810:xnack+", nullptr, nullptr, true, true, true, 8, 1, 0, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx900", "gfx901", nullptr, true, true, false, 9, 0, 0, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Greenland - {"gfx900:xnack-", "gfx900", nullptr, true, true, false, 9, 0, 0, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx900:xnack+", "gfx901", nullptr, true, true, false, 9, 0, 0, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx902", "gfx903", nullptr, true, true, false, 9, 0, 2, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Raven - {"gfx902:xnack-", "gfx902", nullptr, true, true, false, 9, 0, 2, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx902:xnack+", "gfx903", nullptr, true, true, false, 9, 0, 2, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx904", "gfx905", nullptr, true, true, false, 9, 0, 4, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Vega12 - {"gfx904:xnack-", "gfx904", nullptr, true, true, false, 9, 0, 4, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx904:xnack+", "gfx905", nullptr, true, true, false, 9, 0, 4, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906", "gfx907", nullptr, true, true, false, 9, 0, 6, ANY, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Vega20 - {"gfx906:sramecc-", "gfx907", nullptr, true, true, false, 9, 0, 6, OFF, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906:sramecc+", nullptr, nullptr, true, true, false, 9, 0, 6, ON, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906:xnack-", "gfx906", nullptr, true, true, false, 9, 0, 6, ANY, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906:xnack+", "gfx907", nullptr, true, true, false, 9, 0, 6, ANY, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906:sramecc-:xnack-", "gfx906", nullptr, true, true, false, 9, 0, 6, OFF, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906:sramecc-:xnack+", "gfx907", nullptr, true, true, false, 9, 0, 6, OFF, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906:sramecc+:xnack-", nullptr, nullptr, true, true, false, 9, 0, 6, ON, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx906:sramecc+:xnack+", nullptr, nullptr, true, true, false, 9, 0, 6, ON, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908", nullptr, nullptr, true, false, false, 9, 0, 8, ANY, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:sramecc-", nullptr, nullptr, true, false, false, 9, 0, 8, OFF, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:sramecc+", nullptr, nullptr, true, false, false, 9, 0, 8, ON, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:xnack-", nullptr, nullptr, true, false, false, 9, 0, 8, ANY, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:xnack-", nullptr, nullptr, true, false, false, 9, 0, 8, ANY, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:sramecc-:xnack-", nullptr, nullptr, true, false, false, 9, 0, 8, OFF, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:sramecc-:xnack+", nullptr, nullptr, true, false, false, 9, 0, 8, OFF, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:sramecc+:xnack-", nullptr, nullptr, true, false, false, 9, 0, 8, ON, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx908:sramecc+:xnack+", nullptr, nullptr, true, false, false, 9, 0, 8, ON, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx909", nullptr, nullptr, false, false, false, 9, 0, 9, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Raven2 (can execute Raven code) - {"gfx909:xnack-", nullptr, nullptr, false, false, false, 9, 0, 9, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx909:xnack+", nullptr, nullptr, false, false, false, 9, 0, 9, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a", nullptr, nullptr, true, false, false, 9, 0, 10, ANY, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:sramecc-", nullptr, nullptr, true, false, false, 9, 0, 10, OFF, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:sramecc+", nullptr, nullptr, true, false, false, 9, 0, 10, ON, ANY, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:xnack-", nullptr, nullptr, true, false, false, 9, 0, 10, ANY, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:xnack-", nullptr, nullptr, true, false, false, 9, 0, 10, ANY, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:sramecc-:xnack-", nullptr, nullptr, true, false, false, 9, 0, 10, OFF, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:sramecc-:xnack+", nullptr, nullptr, true, false, false, 9, 0, 10, OFF, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:sramecc+:xnack-", nullptr, nullptr, true, false, false, 9, 0, 10, ON, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90a:sramecc+:xnack+", nullptr, nullptr, true, false, false, 9, 0, 10, ON, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90c", nullptr, nullptr, true, true, false, 9, 0, 12, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Renoir - {"gfx90c:xnack-", "gfx90c", nullptr, true, true, false, 9, 0, 12, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx90c:xnack+", nullptr, nullptr, true, true, false, 9, 0, 12, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, - {"gfx1010", "gfx1010", nullptr, true, true, false, 10, 1, 0, NONE, ANY, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1010:xnack-", "gfx1010", nullptr, true, true, false, 10, 1, 0, NONE, OFF, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1010:xnack+", nullptr, nullptr, true, true, false, 10, 1, 0, NONE, ON, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1011", "gfx1011", nullptr, true, true, false, 10, 1, 1, NONE, ANY, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1011:xnack-", "gfx1011", nullptr, true, true, false, 10, 1, 1, NONE, OFF, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1011:xnack+", nullptr, nullptr, true, true, false, 10, 1, 1, NONE, ON, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1012", "gfx1012", nullptr, true, true, false, 10, 1, 2, NONE, ANY, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1012:xnack-", "gfx1012", nullptr, true, true, false, 10, 1, 2, NONE, OFF, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1012:xnack+", nullptr, nullptr, true, true, false, 10, 1, 2, NONE, ON, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1030", "gfx1030", nullptr, true, true, false, 10, 3, 0, NONE, NONE, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1031", "gfx1031", nullptr, true, true, false, 10, 3, 1, NONE, NONE, 2, 32, 1, 256, 64 * Ki, 32}, - {"gfx1032", "gfx1032", nullptr, true, true, false, 10, 3, 2, NONE, NONE, 2, 32, 1, 256, 64 * Ki, 32}, + // Target ID HSAIL ID ROC PAL GSL Maj/Min/Stp SRAMECC XNACK CU Width Width Width CU Banks + {"gfx700", "Kaveri", true, false, true, 7, 0, 0, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Spectre, Spooky, Kalindi + {"gfx701", "Hawaii", true, false, true, 7, 0, 1, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Actually Hawaiipro + {"gfx702", "gfx702", true, false, true, 7, 0, 2, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Actually Hawaii (can execute Hawiipro code) + {"gfx703", nullptr, false, false, true, 7, 0, 3, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Mullins + {"gfx704", "Bonaire", false, false, true, 7, 0, 4, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx705", "Mullins", false, false, true, 7, 0, 5, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Actually Godavari + {"gfx801", nullptr, true, true, true, 8, 0, 1, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx801:xnack-", "Carrizo", true, true, true, 8, 0, 1, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx801:xnack+", nullptr, true, true, true, 8, 0, 1, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx802", "Tonga", true, true, true, 8, 0, 2, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Iceland + {"gfx803", "Fiji", true, true, true, 8, 0, 3, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Also Ellesmere/Polaris10, Baffin/Polaris11, Polaris12, Polaris22/VegaM + {"gfx805", nullptr, true, true, true, 8, 0, 5, NONE, NONE, 4, 16, 1, 256, 64 * Ki, 32}, // Tongapro + {"gfx810", nullptr, true, true, true, 8, 1, 0, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx810:xnack-", "Stoney", true, true, true, 8, 1, 0, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx810:xnack+", nullptr, true, true, true, 8, 1, 0, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx900", "gfx901", true, true, false, 9, 0, 0, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Greenland + {"gfx900:xnack-", "gfx900", true, true, false, 9, 0, 0, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx900:xnack+", "gfx901", true, true, false, 9, 0, 0, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx902", "gfx903", true, true, false, 9, 0, 2, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Raven + {"gfx902:xnack-", "gfx902", true, true, false, 9, 0, 2, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx902:xnack+", "gfx903", true, true, false, 9, 0, 2, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx904", "gfx905", true, true, false, 9, 0, 4, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Vega12 + {"gfx904:xnack-", "gfx904", true, true, false, 9, 0, 4, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx904:xnack+", "gfx905", true, true, false, 9, 0, 4, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906", "gfx907", true, true, false, 9, 0, 6, ANY, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Vega20 + {"gfx906:sramecc-", "gfx907", true, true, false, 9, 0, 6, OFF, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906:sramecc+", nullptr, true, true, false, 9, 0, 6, ON, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906:xnack-", "gfx906", true, true, false, 9, 0, 6, ANY, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906:xnack+", "gfx907", true, true, false, 9, 0, 6, ANY, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906:sramecc-:xnack-", "gfx906", true, true, false, 9, 0, 6, OFF, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906:sramecc-:xnack+", "gfx907", true, true, false, 9, 0, 6, OFF, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906:sramecc+:xnack-", nullptr, true, true, false, 9, 0, 6, ON, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx906:sramecc+:xnack+", nullptr, true, true, false, 9, 0, 6, ON, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908", nullptr, true, false, false, 9, 0, 8, ANY, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:sramecc-", nullptr, true, false, false, 9, 0, 8, OFF, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:sramecc+", nullptr, true, false, false, 9, 0, 8, ON, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:xnack-", nullptr, true, false, false, 9, 0, 8, ANY, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:xnack-", nullptr, true, false, false, 9, 0, 8, ANY, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:sramecc-:xnack-", nullptr, true, false, false, 9, 0, 8, OFF, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:sramecc-:xnack+", nullptr, true, false, false, 9, 0, 8, OFF, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:sramecc+:xnack-", nullptr, true, false, false, 9, 0, 8, ON, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx908:sramecc+:xnack+", nullptr, true, false, false, 9, 0, 8, ON, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx909", nullptr, false, false, false, 9, 0, 9, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Raven2 (can execute Raven code) + {"gfx909:xnack-", nullptr, false, false, false, 9, 0, 9, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx909:xnack+", nullptr, false, false, false, 9, 0, 9, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a", nullptr, true, false, false, 9, 0, 10, ANY, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:sramecc-", nullptr, true, false, false, 9, 0, 10, OFF, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:sramecc+", nullptr, true, false, false, 9, 0, 10, ON, ANY, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:xnack-", nullptr, true, false, false, 9, 0, 10, ANY, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:xnack-", nullptr, true, false, false, 9, 0, 10, ANY, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:sramecc-:xnack-", nullptr, true, false, false, 9, 0, 10, OFF, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:sramecc-:xnack+", nullptr, true, false, false, 9, 0, 10, OFF, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:sramecc+:xnack-", nullptr, true, false, false, 9, 0, 10, ON, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90a:sramecc+:xnack+", nullptr, true, false, false, 9, 0, 10, ON, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90c", nullptr, true, true, false, 9, 0, 12, NONE, ANY, 4, 16, 1, 256, 64 * Ki, 32}, // Also Renoir + {"gfx90c:xnack-", "gfx90c", true, true, false, 9, 0, 12, NONE, OFF, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx90c:xnack+", nullptr, true, true, false, 9, 0, 12, NONE, ON, 4, 16, 1, 256, 64 * Ki, 32}, + {"gfx1010", "gfx1010", true, true, false, 10, 1, 0, NONE, ANY, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1010:xnack-", "gfx1010", true, true, false, 10, 1, 0, NONE, OFF, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1010:xnack+", nullptr, true, true, false, 10, 1, 0, NONE, ON, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1011", "gfx1011", true, true, false, 10, 1, 1, NONE, ANY, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1011:xnack-", "gfx1011", true, true, false, 10, 1, 1, NONE, OFF, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1011:xnack+", nullptr, true, true, false, 10, 1, 1, NONE, ON, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1012", "gfx1012", true, true, false, 10, 1, 2, NONE, ANY, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1012:xnack-", "gfx1012", true, true, false, 10, 1, 2, NONE, OFF, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1012:xnack+", nullptr, true, true, false, 10, 1, 2, NONE, ON, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1030", "gfx1030", true, true, false, 10, 3, 0, NONE, NONE, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1031", "gfx1031", true, true, false, 10, 3, 1, NONE, NONE, 2, 32, 1, 256, 64 * Ki, 32}, + {"gfx1032", "gfx1032", true, true, false, 10, 3, 2, NONE, NONE, 2, 32, 1, 256, 64 * Ki, 32}, }; return std::make_pair(std::begin(supportedIsas_), std::end(supportedIsas_)); } @@ -795,7 +792,7 @@ std::string ClBinary::getBIFSymbol(unsigned int symbolID) const { return ""; } -void ClBinary::init(amd::option::Options* optionsObj, bool amdilRequired) { +void ClBinary::init(amd::option::Options* optionsObj) { // option has higher priority than environment variable. if ((flags_ & BinarySourceMask) != BinaryRemoveSource) { // set to zero @@ -811,14 +808,6 @@ void ClBinary::init(amd::option::Options* optionsObj, bool amdilRequired) { flags_ |= (optionsObj->oVariables->BinLLVMIR ? BinarySaveLlvmir : BinaryNoSaveLlvmir); } - // If amdilRequired is true, force to save AMDIL (for correctness) - if ((flags_ & BinaryAmdilMask) != BinaryRemoveAmdil || amdilRequired) { - // set to zero - flags_ = (flags_ & (~BinaryAmdilMask)); - flags_ |= - ((optionsObj->oVariables->BinAMDIL || amdilRequired) ? BinarySaveAmdil : BinaryNoSaveAmdil); - } - if ((flags_ & BinaryIsaMask) != BinaryRemoveIsa) { // set to zero flags_ = (flags_ & (~BinaryIsaMask)); @@ -852,7 +841,7 @@ bool ClBinary::isRecompilable(std::string& llvmBinary, amd::Elf::ElfPlatform the } if ((platform == amd::Elf::COMPLIB_PLATFORM) && (((thePlatform == amd::Elf::CAL_PLATFORM) && - ((elf_target == (uint16_t)EM_AMDIL) || (elf_target == (uint16_t)EM_HSAIL) || + ((elf_target == (uint16_t)EM_HSAIL) || (elf_target == (uint16_t)EM_HSAIL_64))) || ((thePlatform == amd::Elf::CPU_PLATFORM) && ((elf_target == (uint16_t)EM_386) || (elf_target == (uint16_t)EM_X86_64))))) { @@ -992,8 +981,8 @@ void ClBinary::setFlags(int encryptCode) { if (encryptCode != 0) { flags_ = (flags_ & - (~(BinarySourceMask | BinaryLlvmirMask | BinaryAmdilMask | BinaryIsaMask | BinaryASMask))); - flags_ |= (BinaryRemoveSource | BinaryRemoveLlvmir | BinaryRemoveAmdil | BinarySaveIsa | + (~(BinarySourceMask | BinaryLlvmirMask | BinaryIsaMask | BinaryASMask))); + flags_ |= (BinaryRemoveSource | BinaryRemoveLlvmir | BinarySaveIsa | BinaryRemoveAS); } } diff --git a/rocclr/device/device.hpp b/rocclr/device/device.hpp index 5864cde3e5..ce3beb8bd5 100644 --- a/rocclr/device/device.hpp +++ b/rocclr/device/device.hpp @@ -906,7 +906,7 @@ class ClBinary : public amd::HeapObject { //! Destructor virtual ~ClBinary(); - void init(amd::option::Options* optionsObj, bool amdilRequired = false); + void init(amd::option::Options* optionsObj); /** called only in loading image routines, never storing routines */ bool setBinary(const char* theBinary, size_t theBinarySize, bool allocated = false, @@ -986,7 +986,6 @@ class ClBinary : public amd::HeapObject { bool saveSOURCE() { return ((flags_ & BinarySourceMask) == BinarySaveSource); } bool saveLLVMIR() { return ((flags_ & BinaryLlvmirMask) == BinarySaveLlvmir); } - bool saveAMDIL() { return ((flags_ & BinaryAmdilMask) == BinarySaveAmdil); } bool saveISA() { return ((flags_ & BinaryIsaMask) == BinarySaveIsa); } bool saveAS() { return ((flags_ & BinaryASMask) == BinarySaveAS); } @@ -1015,12 +1014,6 @@ class ClBinary : public amd::HeapObject { BinaryNoSaveLlvmir = 0x10, BinaryLlvmirMask = 0x18, - // AMDIL control - BinarySaveAmdil = 0x0, // 0: default - BinaryRemoveAmdil = 0x20, // for encrypted binary - BinaryNoSaveAmdil = 0x40, - BinaryAmdilMask = 0x60, - // ISA control BinarySaveIsa = 0x0, // 0: default BinaryRemoveIsa = 0x80, // for encrypted binary @@ -1293,11 +1286,6 @@ class Isa { return hsailId_; } - /// @returns This Isa's name to use with the AMD IL compiler. - const char *amdIlName() const { - return amdIlId_; - } - /// @returns If the ROCm runtime supports the ISA. bool runtimeRocSupported() const { return runtimeRocSupported_; @@ -1397,7 +1385,7 @@ class Isa { private: - constexpr Isa(const char* targetId, const char* hsailId, const char* amdIlId, + constexpr Isa(const char* targetId, const char* hsailId, bool runtimeRocSupported, bool runtimePalSupported, bool runtimeGslSupported, uint32_t versionMajor, uint32_t versionMinor, uint32_t versionStepping, Feature sramecc, Feature xnack, uint32_t simdPerCU, uint32_t simdWidth, @@ -1405,7 +1393,6 @@ class Isa { uint32_t localMemSizePerCU, uint32_t localMemBanks) : targetId_(targetId), hsailId_(hsailId), - amdIlId_(amdIlId), runtimeRocSupported_(runtimeRocSupported), runtimePalSupported_(runtimePalSupported), runtimeGslSupported_(runtimeGslSupported), @@ -1433,10 +1420,6 @@ class Isa { // unsupported. const char* hsailId_; - // @brief Isa's AMD IL name. Used for the Compiler Library for AMD IL - // compilation using the Shader Compiler. Empty string if unsupported. - const char* amdIlId_; - bool runtimeRocSupported_; //!< ROCm runtime is supported. bool runtimePalSupported_; //!< PAL runtime is supported. bool runtimeGslSupported_; //!< GSL runtime is supported. diff --git a/rocclr/device/devprogram.cpp b/rocclr/device/devprogram.cpp index 9c5e153a77..865b0a1718 100644 --- a/rocclr/device/devprogram.cpp +++ b/rocclr/device/devprogram.cpp @@ -1435,7 +1435,7 @@ bool Program::initBuild(amd::option::Options* options) { bool tempFile = false; // true means hsail required - clBinary()->init(options, true); + clBinary()->init(options); if (options->isDumpFlagSet(amd::option::DUMP_BIF)) { outFileName = options->getDumpFileName(".bin"); } else { @@ -1773,7 +1773,6 @@ std::vector Program::ProcessOptions(amd::option::Options* options) std::string processorName = device().isa().processorName(); const char* hsailName = device().isa().hsailName(); - const char* amdIlName = device().isa().amdIlName(); optionsVec.push_back(std::string("-D__") + processorName + "__=1"); optionsVec.push_back(std::string("-D__") + processorName + "=1"); @@ -1781,11 +1780,6 @@ std::vector Program::ProcessOptions(amd::option::Options* options) optionsVec.push_back(std::string("-D__") + hsailName + "__=1"); optionsVec.push_back(std::string("-D__") + hsailName + "=1"); } - if (amdIlName && (strcmp(amdIlName, processorName.c_str()) != 0) && - (!hsailName || strcmp(amdIlName, hsailName) != 0)) { - optionsVec.push_back(std::string("-D__") + amdIlName + "__=1"); - optionsVec.push_back(std::string("-D__") + amdIlName + "=1"); - } // Set options for the standard device specific options // All our devices support these options now @@ -1977,7 +1971,7 @@ bool Program::initClBinary(const char* binaryIn, size_t size, amd::Os::FileDesc aclBinaryOptions binOpts = {0}; binOpts.struct_size = sizeof(binOpts); binOpts.elfclass = - (info().arch_id == aclX64 || info().arch_id == aclAMDIL64 || info().arch_id == aclHSAIL64) + (info().arch_id == aclX64 || info().arch_id == aclHSAIL64) ? ELFCLASS64 : ELFCLASS32; binOpts.bitness = ELFDATA2LSB; diff --git a/rocclr/device/gpu/gpubinary.cpp b/rocclr/device/gpu/gpubinary.cpp index 563453d594..fb5e5d0eda 100644 --- a/rocclr/device/gpu/gpubinary.cpp +++ b/rocclr/device/gpu/gpubinary.cpp @@ -66,7 +66,7 @@ bool ClBinary::loadKernels(NullProgram& program, bool* hasRecompiled) { if (platform == amd::Elf::COMPLIB_PLATFORM) { // BIF 3.0 uint32_t flag; - aclTargetInfo tgtInfo = aclGetTargetInfo("amdil", dev().isa().amdIlName(), NULL); + aclTargetInfo tgtInfo = aclGetTargetInfo("amdil", nullptr, NULL); if (!elfIn()->getFlags(flag)) { LogError("The OCL binary image loading failed: incorrect format"); return false; @@ -241,7 +241,7 @@ bool ClBinary::loadKernels(NullProgram& program, bool* hasRecompiled) { } else if (!elfsymbol->IsKernel) { // Not a kernel. Add its metadata to the OCL binary in case recompilation happens // and the new binary is needed. - if (saveAMDIL() && (elfsymbol->SymInfo[NDX_METADATA].size > 0)) { + if (false && (elfsymbol->SymInfo[NDX_METADATA].size > 0)) { std::string fmetadata = "__OpenCL_"; fmetadata.append(it.first); fmetadata.append("_fmetadata"); @@ -371,14 +371,14 @@ bool ClBinary::loadKernels(NullProgram& program, bool* hasRecompiled) { bool ClBinary::storeKernel(const std::string& name, const NullKernel* nullKernel, Kernel::InitData* initData, const std::string& metadata, const std::string& ilSource) { - if (!saveISA() && !saveAMDIL()) { + if (!saveISA()) { return true; } // should we save kernel metadata only under saveAMDIL()? bool kernelMetaStored = false; - if (saveAMDIL() && (ilSource.size() > 0)) { + if (false && (ilSource.size() > 0)) { // Save IL (this is the per-kernel IL) std::string ilName = "__OpenCL_" + name + "_amdil"; if (!elfOut()->addSymbol(amd::Elf::ILTEXT, ilName.c_str(), ilSource.data(), diff --git a/rocclr/device/gpu/gpudevice.cpp b/rocclr/device/gpu/gpudevice.cpp index 0ebefcc86b..7cc41e241b 100644 --- a/rocclr/device/gpu/gpudevice.cpp +++ b/rocclr/device/gpu/gpudevice.cpp @@ -77,11 +77,6 @@ struct CalDevice { static constexpr CalDevice supportedCalDevices[] = { // Prefer - NullDevice - // GFX Version GSL Machine CAL Name CAL Target PAL double OCL200 - {6, 0, 0, ED_ATI_CAL_MACHINE_TAHITI_ISA, "Tahiti", CAL_TARGET_TAHITI, false, true, false}, - {6, 0, 1, ED_ATI_CAL_MACHINE_PITCAIRN_ISA, "Pitcairn", CAL_TARGET_PITCAIRN, false, true, false}, - {6, 0, 1, ED_ATI_CAL_MACHINE_CAPEVERDE_ISA, "Capeverde", CAL_TARGET_CAPEVERDE, false, true, false}, - {6, 0, 2, ED_ATI_CAL_MACHINE_OLAND_ISA, "Oland", CAL_TARGET_OLAND, false, true, false}, - {6, 0, 2, ED_ATI_CAL_MACHINE_HAINAN_ISA, "Hainan", CAL_TARGET_HAINAN, false, true, false}, {7, 0, 0, ED_ATI_CAL_MACHINE_KALINDI_ISA, "Kalindi", CAL_TARGET_KALINDI, false, true, true }, {7, 0, 0, ED_ATI_CAL_MACHINE_SPECTRE_ISA, "Spectre", CAL_TARGET_SPECTRE, false, true, true }, {7, 0, 0, ED_ATI_CAL_MACHINE_SPOOKY_ISA, "Spooky", CAL_TARGET_SPOOKY, false, true, true }, @@ -270,45 +265,19 @@ bool NullDevice::create(const char* calName, const amd::Isa& isa, CALtarget targ // Fill the device info structure fillDeviceInfo(calAttr, memInfo, 4096, 1, 0); - if (NULL == compiler_) { -#if !defined(ATI_OS_LINUX) - char CompilerLibrary[220] = ""; - strcat_s(CompilerLibrary, "amdocl12cl" LP64_SWITCH("", "64") ".dll"); -#endif - const char* library = getenv("COMPILER_LIBRARY"); + // Runtime doesn't know what local size could be on the real board + info_.maxGlobalVariableSize_ = static_cast(512 * Mi); + + if (NULL == hsaCompiler_) { + const char* library = getenv("HSA_COMPILER_LIBRARY"); aclCompilerOptions opts = { - sizeof(aclCompilerOptions_0_8), -#if defined(ATI_OS_LINUX) - library ? library : LINUX_ONLY("lib") "amdocl12cl" LP64_SWITCH(LINUX_SWITCH("32", ""), "64") - LINUX_SWITCH(".so", ".dll"), -#else - library ? library : CompilerLibrary, -#endif - NULL, - NULL, - NULL, - NULL, - NULL, - AMD_OCL_SC_LIB - }; - compiler_ = aclCompilerInit(&opts, NULL); - } - - if (settings().hsail_ || (settings().oclVersion_ >= OpenCL20)) { - // Runtime doesn't know what local size could be on the real board - info_.maxGlobalVariableSize_ = static_cast(512 * Mi); - - if (NULL == hsaCompiler_) { - const char* library = getenv("HSA_COMPILER_LIBRARY"); - aclCompilerOptions opts = { - sizeof(aclCompilerOptions_0_8), library, NULL, NULL, NULL, NULL, NULL, AMD_OCL_SC_LIB}; - // Initialize the compiler handle - acl_error error; - hsaCompiler_ = aclCompilerInit(&opts, &error); - if (error != ACL_SUCCESS) { - LogPrintfError("Error initializing the compiler for offline CAL device %s", isa.targetId()); - return false; - } + sizeof(aclCompilerOptions_0_8), library, NULL, NULL, NULL, NULL, NULL, AMD_OCL_SC_LIB}; + // Initialize the compiler handle + acl_error error; + hsaCompiler_ = aclCompilerInit(&opts, &error); + if (error != ACL_SUCCESS) { + LogPrintfError("Error initializing the compiler for offline CAL device %s", isa.targetId()); + return false; } } @@ -317,7 +286,6 @@ bool NullDevice::create(const char* calName, const amd::Isa& isa, CALtarget targ bool NullDevice::isHsailProgram(amd::option::Options* options) { bool isCIPlus = settings().ciPlus_; - bool isHSAILcapable = settings().hsail_; bool isBlit = false; bool isSPIRV = false; bool isClang = false; @@ -369,10 +337,10 @@ bool NullDevice::isHsailProgram(amd::option::Options* options) { } isInputOptions = false; } - if (isSPIRV || (isBlit && isCIPlus && isHSAILcapable) || isClang || isOCL20) { + if (isSPIRV || (isBlit && isCIPlus) || isClang || isOCL20) { return true; } - if (isLegacy || !isHSAILcapable || isEDG) { + if (isLegacy || isEDG) { return false; } return true; @@ -1048,51 +1016,15 @@ bool Device::create(CALuint ordinal, CALuint numOfDevices) { fillDeviceInfo(getAttribs(), getMemInfo(), static_cast(getMaxTextureSize()), engines().numComputeRings(), engines().numComputeRingsRT()); - if (NULL == compiler_) { -#if !defined(ATI_OS_LINUX) - char CompilerLibrary[220] = ""; - strcat_s(CompilerLibrary, "amdocl12cl" LP64_SWITCH("", "64") ".dll"); -#endif - - const char* library = getenv("COMPILER_LIBRARY"); + if (NULL == hsaCompiler_) { + const char* library = getenv("HSA_COMPILER_LIBRARY"); aclCompilerOptions opts = { - sizeof(aclCompilerOptions_0_8), -#if defined(ATI_OS_LINUX) - library ? library : LINUX_ONLY("lib") "amdocl12cl" LP64_SWITCH(LINUX_SWITCH("32", ""), "64") - LINUX_SWITCH(".so", ".dll"), -#else - library ? library : CompilerLibrary, -#endif - NULL, - NULL, - NULL, - NULL, - NULL, - AMD_OCL_SC_LIB - }; - compiler_ = aclCompilerInit(&opts, NULL); - } - - if (settings().hsail_ || (settings().oclVersion_ >= OpenCL20)) { - if (NULL == hsaCompiler_) { - const char* library = getenv("HSA_COMPILER_LIBRARY"); - aclCompilerOptions opts = { - sizeof(aclCompilerOptions_0_8), library, NULL, NULL, NULL, NULL, NULL, AMD_OCL_SC_LIB}; - // Initialize the compiler handle - acl_error error; - hsaCompiler_ = aclCompilerInit(&opts, &error); - if (error != ACL_SUCCESS) { - LogError("Error initializing the compiler"); - return false; - } - } - } else { - blitProgram_ = new BlitProgram(context_); - // Create blit programs - if (blitProgram_ == NULL || !blitProgram_->create(this)) { - delete blitProgram_; - blitProgram_ = NULL; - LogError("Couldn't create blit kernels!"); + sizeof(aclCompilerOptions_0_8), library, NULL, NULL, NULL, NULL, NULL, AMD_OCL_SC_LIB}; + // Initialize the compiler handle + acl_error error; + hsaCompiler_ = aclCompilerInit(&opts, &error); + if (error != ACL_SUCCESS) { + LogError("Error initializing the compiler"); return false; } } @@ -1694,20 +1626,12 @@ device::Memory* Device::createMemory(amd::Memory& owner) const { bool Device::createSampler(const amd::Sampler& owner, device::Sampler** sampler) const { *sampler = NULL; - if (settings().hsail_ || (settings().oclVersion_ >= OpenCL20)) { - Sampler* gpuSampler = new Sampler(*this); - if ((NULL == gpuSampler) || !gpuSampler->create(owner)) { - delete gpuSampler; - return false; - } - *sampler = gpuSampler; - } else { - //! Currently allocate the base device class for AMDIL path - *sampler = new device::Sampler(); - if (*sampler == nullptr) { - return false; - } + Sampler* gpuSampler = new Sampler(*this); + if ((NULL == gpuSampler) || !gpuSampler->create(owner)) { + delete gpuSampler; + return false; } + *sampler = gpuSampler; return true; } diff --git a/rocclr/device/gpu/gpukernel.cpp b/rocclr/device/gpu/gpukernel.cpp index b6160a2010..06c1322dff 100644 --- a/rocclr/device/gpu/gpukernel.cpp +++ b/rocclr/device/gpu/gpukernel.cpp @@ -644,7 +644,7 @@ bool NullKernel::create(const std::string& code, const std::string& metadata, if ((binaryCode == NULL) && (binarySize == 0) && !code.empty()) { acl_error err; aclTargetInfo info = aclGetTargetInfo(nullDev().settings().use64BitPtr_ ? "amdil64" : "amdil", - nullDev().isa().amdIlName(), &err); + nullptr, &err); if (err != ACL_SUCCESS) { LogWarning("aclGetTargetInfo failed"); return false; diff --git a/rocclr/device/gpu/gpuprogram.cpp b/rocclr/device/gpu/gpuprogram.cpp index baeb800263..9e9cc376d7 100644 --- a/rocclr/device/gpu/gpuprogram.cpp +++ b/rocclr/device/gpu/gpuprogram.cpp @@ -44,7 +44,7 @@ namespace gpu { const aclTargetInfo& NullProgram::info() { acl_error err; info_ = aclGetTargetInfo(gpuNullDevice().settings().use64BitPtr_ ? "amdil64" : "amdil", - device().isa().amdIlName(), &err); + nullptr, &err); if (err != ACL_SUCCESS) { LogWarning("aclGetTargetInfo failed"); } @@ -392,28 +392,6 @@ bool NullProgram::linkImpl(amd::option::Options* options) { buildLog_ += "Internal error: adding a kernel into OpenCL binary failed!\n"; return false; } - } else { - // Non-kernel function, save metadata symbols for recompilation - if (clBinary()->saveAMDIL()) { - size_t metadataSize = baseFunc->metadata_.end_ - baseFunc->metadata_.begin_; - if (metadataSize <= 0) { - continue; - } - std::string metadataStr; - // Get the metadata string - metadataStr.insert(0, ilProgram_, baseFunc->metadata_.begin_, metadataSize); - - std::stringstream aStream; - aStream << "__OpenCL_" << baseFunc->name_ << "_fmetadata"; - std::string metaName = aStream.str(); - // Save metadata symbols in .rodata - if (!clBinary()->elfOut()->addSymbol(amd::Elf::RODATA, metaName.c_str(), - metadataStr.data(), metadataStr.size())) { - buildLog_ += "Internal error: addSymbol failed!\n"; - LogError("AddSymbol failed"); - return false; - } - } } } @@ -755,28 +733,6 @@ bool NullProgram::linkImpl(const std::vector& inputPrograms, buildLog_ += "Internal error: adding a kernel into OpenCL binary failed!\n"; return false; } - } else { - // Non-kernel function, save metadata symbols for recompilation - if (clBinary()->saveAMDIL()) { - size_t metadataSize = baseFunc->metadata_.end_ - baseFunc->metadata_.begin_; - if (metadataSize <= 0) { - continue; - } - std::string metadataStr; - // Get the metadata string - metadataStr.insert(0, ilProgram_, baseFunc->metadata_.begin_, metadataSize); - - std::stringstream aStream; - aStream << "__OpenCL_" << baseFunc->name_ << "_fmetadata"; - std::string metaName = aStream.str(); - // Save metadata symbols in .rodata - if (!clBinary()->elfOut()->addSymbol(amd::Elf::RODATA, metaName.c_str(), - metadataStr.data(), metadataStr.size())) { - buildLog_ += "Internal error: addSymbol failed!\n"; - LogError("AddSymbol failed"); - return false; - } - } } } diff --git a/rocclr/device/gpu/gpuresource.cpp b/rocclr/device/gpu/gpuresource.cpp index bbf93d0c26..d4f19ba941 100644 --- a/rocclr/device/gpu/gpuresource.cpp +++ b/rocclr/device/gpu/gpuresource.cpp @@ -470,11 +470,7 @@ bool Resource::create(MemoryType memType, CreateParams* params) { // Check resource cache first for an appropriate resource gslRef_ = dev().resourceCache().findCalResource(&cal_); if (memType == Scratch) { - if ((dev().settings().hsail_) || (dev().settings().oclVersion_ >= OpenCL20)) { - desc.minAlignment = 64 * Ki; - } else { - desc.vaBase = static_cast(0x100000000ULL); - } + desc.minAlignment = 64 * Ki; } else if ((gslRef_ != NULL) && (!dev().settings().use64BitPtr_)) { // Make sure runtime didn't pick a resource with > 4GB address if ((cal()->dimension_ == GSL_MOA_BUFFER) && @@ -947,7 +943,7 @@ bool Resource::create(MemoryType memType, CreateParams* params) { } } - if ((dev().settings().hsail_ || (dev().settings().oclVersion_ >= OpenCL20)) && !cal()->buffer_) { + if (!cal()->buffer_) { hwSrd_ = dev().srds().allocSrdSlot(reinterpret_cast(&hwState_)); if (0 == hwSrd_) { return false; @@ -1055,7 +1051,7 @@ void Resource::free() { } // Free SRD for images - if ((dev().settings().hsail_ || (dev().settings().oclVersion_ >= OpenCL20)) && !cal()->buffer_) { + if (!cal()->buffer_) { dev().srds().freeSrdSlot(hwSrd_); } } diff --git a/rocclr/device/gpu/gpusettings.cpp b/rocclr/device/gpu/gpusettings.cpp index 219ee31a4d..8955e944ab 100644 --- a/rocclr/device/gpu/gpusettings.cpp +++ b/rocclr/device/gpu/gpusettings.cpp @@ -136,9 +136,6 @@ Settings::Settings() { numDeviceEvents_ = 1024; numWaitEvents_ = 8; - // Disable HSAIL by default - hsail_ = false; - // Don't support platform atomics by default. svmAtomics_ = false; @@ -229,19 +226,11 @@ bool Settings::create(const CALdeviceattribs& calAttr, bool reportAsOCL12Device, case CAL_TARGET_HAWAII: ciPlus_ = true; sdmaProfiling_ = true; - hsail_ = GPU_HSAIL_ENABLE; threadTraceEnable_ = AMD_THREAD_TRACE_ENABLE; - // Fall through to SI ... - case CAL_TARGET_PITCAIRN: - case CAL_TARGET_CAPEVERDE: - case CAL_TARGET_OLAND: - case CAL_TARGET_HAINAN: reportFMAF_ = false; if (target == CAL_TARGET_HAWAII) { reportFMAF_ = true; } - // Fall through ... - case CAL_TARGET_TAHITI: // Cache line size is 64 bytes cacheLineSize_ = 64; // L1 cache size is 16KB @@ -282,10 +271,10 @@ bool Settings::create(const CALdeviceattribs& calAttr, bool reportAsOCL12Device, // This needs to be cleaned once 64bit addressing is stable if (oclVersion_ < OpenCL20) { use64BitPtr_ = flagIsDefault(GPU_FORCE_64BIT_PTR) - ? LP64_SWITCH(false, calAttr.isWorkstation || hsail_) + ? LP64_SWITCH(false, true) : GPU_FORCE_64BIT_PTR; } else { - if (GPU_FORCE_64BIT_PTR || LP64_SWITCH(false, (hsail_ || (oclVersion_ >= OpenCL20)))) { + if (GPU_FORCE_64BIT_PTR || LP64_SWITCH(false, true)) { use64BitPtr_ = true; } } diff --git a/rocclr/device/gpu/gpusettings.hpp b/rocclr/device/gpu/gpusettings.hpp index d64930bf31..c8f1e900e8 100644 --- a/rocclr/device/gpu/gpusettings.hpp +++ b/rocclr/device/gpu/gpusettings.hpp @@ -73,7 +73,6 @@ class Settings : public device::Settings { uint linearPersistentImage_ : 1; //!< Allocates linear images in persistent uint useSingleScratch_ : 1; //!< Allocates single scratch per device uint sdmaProfiling_ : 1; //!< Enables SDMA profiling - uint hsail_ : 1; //!< Enables HSAIL compilation uint svmAtomics_ : 1; //!< SVM device atomics uint svmFineGrainSystem_ : 1; //!< SVM fine grain system support uint useDeviceQueue_ : 1; //!< Submit to separate device queue diff --git a/rocclr/device/pal/paldevice.cpp b/rocclr/device/pal/paldevice.cpp index 8112af92eb..d72c996516 100644 --- a/rocclr/device/pal/paldevice.cpp +++ b/rocclr/device/pal/paldevice.cpp @@ -71,11 +71,6 @@ struct PalDevice { static constexpr PalDevice supportedPalDevices[] = { // GFX Version PAL GFX IP Level PAL Name PAL ASIC Revision - {6, 0, 0, Pal::GfxIpLevel::GfxIp6, "Tahiti", Pal::AsicRevision::Tahiti}, - {6, 0, 1, Pal::GfxIpLevel::GfxIp6, "Pitcairn", Pal::AsicRevision::Pitcairn}, - {6, 0, 1, Pal::GfxIpLevel::GfxIp6, "Capeverde", Pal::AsicRevision::Capeverde}, - {6, 0, 2, Pal::GfxIpLevel::GfxIp6, "Oland", Pal::AsicRevision::Oland}, - {6, 0, 2, Pal::GfxIpLevel::GfxIp6, "Hainan", Pal::AsicRevision::Hainan}, {7, 0, 0, Pal::GfxIpLevel::GfxIp7, "Kalindi", Pal::AsicRevision::Kalindi}, {7, 0, 0, Pal::GfxIpLevel::GfxIp7, "Spectre", Pal::AsicRevision::Spectre}, {7, 0, 0, Pal::GfxIpLevel::GfxIp7, "Spooky", Pal::AsicRevision::Spooky}, diff --git a/rocclr/utils/flags.hpp b/rocclr/utils/flags.hpp index 6ce9b27a44..a576301c64 100644 --- a/rocclr/utils/flags.hpp +++ b/rocclr/utils/flags.hpp @@ -120,9 +120,6 @@ release(bool, GPU_USE_SINGLE_SCRATCH, false, \ "Use single scratch buffer per device instead of per HW ring") \ release(bool, AMD_OCL_WAIT_COMMAND, false, \ "1 = Enable a wait for every submitted command") \ -/* HSAIL is by default, except Linux 32bit, because of known Catalyst 32bit issue */ \ -release(bool, GPU_HSAIL_ENABLE, LP64_SWITCH(LINUX_SWITCH(false,true),true), \ - "Enable HSAIL on dGPU stack (requires CI+ HW)") \ release(uint, GPU_PRINT_CHILD_KERNEL, 0, \ "Prints the specified number of the child kernels") \ release(bool, GPU_USE_DEVICE_QUEUE, false, \