From ab1c00cee9062f7c587e5fef910054ea1c8e7556 Mon Sep 17 00:00:00 2001 From: Vladislav Sytchenko Date: Fri, 6 Mar 2020 13:43:36 -0500 Subject: [PATCH] SWDEV-224023 Each WGP consists of 2 CU, so the number of available SIMD units is doubled. Change-Id: I43978a8a9139c33f5f776b344a36bee927cc187d [ROCm/clr commit: e76d867740bdcdd6d6b71df0fbb401e91b66b436] --- projects/clr/rocclr/device/pal/paldevice.cpp | 4 +++- projects/clr/rocclr/device/rocm/rocdevice.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/projects/clr/rocclr/device/pal/paldevice.cpp b/projects/clr/rocclr/device/pal/paldevice.cpp index defb0f9785..343ff2395b 100644 --- a/projects/clr/rocclr/device/pal/paldevice.cpp +++ b/projects/clr/rocclr/device/pal/paldevice.cpp @@ -637,7 +637,9 @@ void NullDevice::fillDeviceInfo(const Pal::DeviceProperties& palProp, info_.deviceTopology_.pcie.device = palProp.pciProperties.deviceNumber; info_.deviceTopology_.pcie.function = palProp.pciProperties.functionNumber; - info_.simdPerCU_ = palProp.gfxipProperties.shaderCore.numSimdsPerCu; + info_.simdPerCU_ = settings().enableWgpMode_ + ? palProp.gfxipProperties.shaderCore.numSimdsPerCu + : (2 * palProp.gfxipProperties.shaderCore.numSimdsPerCu); info_.cuPerShaderArray_ = palProp.gfxipProperties.shaderCore.numCusPerShaderArray; info_.simdWidth_ = hwInfo()->simdWidth_; info_.simdInstructionWidth_ = 1; diff --git a/projects/clr/rocclr/device/rocm/rocdevice.cpp b/projects/clr/rocclr/device/rocm/rocdevice.cpp index 0812b4e38a..5ba51352b0 100755 --- a/projects/clr/rocclr/device/rocm/rocdevice.cpp +++ b/projects/clr/rocclr/device/rocm/rocdevice.cpp @@ -1394,7 +1394,9 @@ bool Device::populateOCLDeviceConstants() { } if (settings().checkExtension(ClAmdDeviceAttributeQuery)) { - info_.simdPerCU_ = deviceInfo_.simdPerCU_; + info_.simdPerCU_ = settings().enableWgpMode_ + ? deviceInfo_.simdPerCU_ + : (2 * deviceInfo_.simdPerCU_); info_.simdWidth_ = deviceInfo_.simdWidth_; info_.simdInstructionWidth_ = deviceInfo_.simdInstructionWidth_; if (HSA_STATUS_SUCCESS !=