From 3137e82fca466e2ecd1b454fb65832ba504f49f1 Mon Sep 17 00:00:00 2001 From: Compute-Runtime-Validation Date: Thu, 17 Jun 2021 13:11:29 +0200 Subject: [PATCH] Revert "Remove redundant DualSubSliceCount checks" This reverts commit 5e85fe50428fae67d36b9413cf15b1de854c0e05. Signed-off-by: Compute-Runtime-Validation --- level_zero/core/source/kernel/kernel_imp.cpp | 3 +++ opencl/source/kernel/kernel.cpp | 3 +++ shared/source/device/device.cpp | 2 -- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/level_zero/core/source/kernel/kernel_imp.cpp b/level_zero/core/source/kernel/kernel_imp.cpp index e25238a8f4..3bc9389308 100644 --- a/level_zero/core/source/kernel/kernel_imp.cpp +++ b/level_zero/core/source/kernel/kernel_imp.cpp @@ -400,6 +400,9 @@ ze_result_t KernelImp::suggestMaxCooperativeGroupCount(uint32_t *totalGroupCount auto &hardwareInfo = module->getDevice()->getHwInfo(); auto dssCount = hardwareInfo.gtSystemInfo.DualSubSliceCount; + if (dssCount == 0) { + dssCount = hardwareInfo.gtSystemInfo.SubSliceCount; + } auto &hwHelper = NEO::HwHelper::get(hardwareInfo.platform.eRenderCoreFamily); auto &descriptor = kernelImmData->getDescriptor(); auto availableThreadCount = hwHelper.calculateAvailableThreadCount( diff --git a/opencl/source/kernel/kernel.cpp b/opencl/source/kernel/kernel.cpp index 36946f1273..d39d96e76e 100644 --- a/opencl/source/kernel/kernel.cpp +++ b/opencl/source/kernel/kernel.cpp @@ -1022,6 +1022,9 @@ uint32_t Kernel::getMaxWorkGroupCount(const cl_uint workDim, const size_t *local const auto &kernelDescriptor = kernelInfo.kernelDescriptor; auto dssCount = hardwareInfo.gtSystemInfo.DualSubSliceCount; + if (dssCount == 0) { + dssCount = hardwareInfo.gtSystemInfo.SubSliceCount; + } auto availableThreadCount = hwHelper.calculateAvailableThreadCount( hardwareInfo.platform.eProductFamily, kernelDescriptor.kernelAttributes.numGrfRequired, diff --git a/shared/source/device/device.cpp b/shared/source/device/device.cpp index 6362378087..6ceb937b29 100644 --- a/shared/source/device/device.cpp +++ b/shared/source/device/device.cpp @@ -194,8 +194,6 @@ bool Device::createDeviceImpl() { setAsEngineInstanced(); auto &hwInfo = getHardwareInfo(); - UNRECOVERABLE_IF(0 == hwInfo.gtSystemInfo.DualSubSliceCount); - preemptionMode = PreemptionHelper::getDefaultPreemptionMode(hwInfo); auto &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);