From b221ba00e56a60f1008f2b6df24ccbb009efaaad Mon Sep 17 00:00:00 2001 From: foreman Date: Mon, 26 Aug 2019 16:56:42 -0400 Subject: [PATCH] P4 to Git Change 1989211 by vsytchen@vsytchen-remote-ocl-win10 on 2019/08/26 16:54:35 SWDEV-201325 - [OpenCL][LC][Gfx10] Kernels fail to compile when HBCC is enabled 1. Don't add +xnack to the target triplet when compiling for gfx10+ ReviewBoardURL = http://ocltc.amd.com/reviews/r/17885/diff/ Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldefs.hpp#58 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#158 edit [ROCm/clr commit: eac38fdde69110c3fa2e47d6910cdfbb1f8433fe] --- projects/clr/rocclr/runtime/device/pal/paldefs.hpp | 8 ++++---- projects/clr/rocclr/runtime/device/pal/paldevice.cpp | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/projects/clr/rocclr/runtime/device/pal/paldefs.hpp b/projects/clr/rocclr/runtime/device/pal/paldefs.hpp index c95b3b1c56..1990eb816c 100644 --- a/projects/clr/rocclr/runtime/device/pal/paldefs.hpp +++ b/projects/clr/rocclr/runtime/device/pal/paldefs.hpp @@ -174,17 +174,17 @@ static constexpr AMDDeviceInfo Gfx9PlusSubDeviceInfo[] = { /* Renoir */ {"gfx902", "gfx902", 16, 256, 32, 902, 902, false}, /* Renoir XNACK */ {"gfx903", "gfx902", 16, 256, 32, 902, 903, true}, /* Navi10_A0 */ {"gfx1010", "gfx1010", 32, 256, 32, 1010, 1010, false}, - /* Navi10_A0 XNACK */ {"gfx1010", "gfx1010", 32, 256, 32, 1010, 1010, true}, + /* Navi10_A0 XNACK */ UnknownDevice, /* Navi10 */ {"gfx1010", "gfx1010", 32, 256, 32, 1010, 1010, false}, - /* Navi10 XNACK */ {"gfx1010", "gfx1010", 32, 256, 32, 1010, 1010, true}, + /* Navi10 XNACK */ UnknownDevice, /* Navi10Lite */ UnknownDevice, /* Navi10LiteXNACK */ UnknownDevice, /* Navi12 */ AMDDeviceInfo{"gfx1011", "gfx1011", 32, 256, 32, 1011, 1011, false}, - /* Navi12 XNACK */ AMDDeviceInfo{"gfx1011", "gfx1011", 32, 256, 32, 1011, 1011, true}, + /* Navi12 XNACK */ UnknownDevice, /* Navi12Lite */ UnknownDevice, /* Navi12LiteXNACK */ UnknownDevice, /* Navi14 */ {"gfx1012", "gfx1012", 32, 256, 32, 1012, 1012, false}, - /* Navi14 XNACK */ {"gfx1012", "gfx1012", 32, 256, 32, 1012, 1012, true}, + /* Navi14 XNACK */ UnknownDevice, /* UnknownDevice3 */ UnknownDevice, /* UnknownDevice3 XNACK */ UnknownDevice, /* UnknownDevice2 */ UnknownDevice, diff --git a/projects/clr/rocclr/runtime/device/pal/paldevice.cpp b/projects/clr/rocclr/runtime/device/pal/paldevice.cpp index fca6ba7ab8..1247a0ef0b 100644 --- a/projects/clr/rocclr/runtime/device/pal/paldevice.cpp +++ b/projects/clr/rocclr/runtime/device/pal/paldevice.cpp @@ -885,8 +885,9 @@ bool Device::create(Pal::IDevice* device) { // XNACK flag should be set for PageMigration | IOMMUv2 Support uint isXNACKSupported = - static_cast(properties_.gpuMemoryProperties.flags.pageMigrationEnabled || - properties_.gpuMemoryProperties.flags.iommuv2Support); + (ipLevel_ < Pal::GfxIpLevel::GfxIp10_1) && + (static_cast(properties_.gpuMemoryProperties.flags.pageMigrationEnabled || + properties_.gpuMemoryProperties.flags.iommuv2Support)); uint subtarget = isXNACKSupported; // Update HW info for the device