feature: adjust maxWorkGroupSize value

Related-To: NEO-7357

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
This commit is contained in:
Rafal Maziejuk
2023-03-20 12:41:39 +00:00
committed by Compute-Runtime-Automation
parent 6437c1a91e
commit b9828b543e
14 changed files with 71 additions and 19 deletions

View File

@@ -2252,11 +2252,14 @@ bool Kernel::areMultipleSubDevicesInContext() const {
}
void Kernel::reconfigureKernel() {
auto &kernelDescriptor = kernelInfo.kernelDescriptor;
const auto &kernelDescriptor = kernelInfo.kernelDescriptor;
if (kernelDescriptor.kernelAttributes.numGrfRequired == GrfConfig::LargeGrfNumber &&
kernelDescriptor.kernelAttributes.simdSize != 32) {
maxKernelWorkGroupSize >>= 1;
this->maxKernelWorkGroupSize >>= 1;
}
const auto &gfxCoreHelper = getDevice().getGfxCoreHelper();
this->maxKernelWorkGroupSize = gfxCoreHelper.adjustMaxWorkGroupSize(kernelDescriptor.kernelAttributes.numGrfRequired, kernelDescriptor.kernelAttributes.simdSize, this->maxKernelWorkGroupSize);
this->containsStatelessWrites = kernelDescriptor.kernelAttributes.flags.usesStatelessWrites;
this->systolicPipelineSelectMode = kernelDescriptor.kernelAttributes.flags.usesSystolicPipelineSelectMode;
}