From 063b3d4e519cf6a3078f2f1ff77506da7aef18ca Mon Sep 17 00:00:00 2001 From: Jaydeep Patel Date: Mon, 5 Jun 2023 14:42:14 +0000 Subject: [PATCH] SWDEV-403995 - uniform_work_group_size is interger type is 1 for true and 0 for false. Lighting kernel's init sets uniform work group flag and hence not need to set it from options. Change-Id: Ife45c1e3ccef03d16d7e07c3e0714fd8fd388fd3 [ROCm/clr commit: 2c9c58e7bb2f3e3914379c592091ab1ba81ca9bb] --- projects/clr/rocclr/device/devkernel.cpp | 2 +- projects/clr/rocclr/device/pal/palprogram.cpp | 5 +++-- projects/clr/rocclr/device/rocm/rocprogram.cpp | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/projects/clr/rocclr/device/devkernel.cpp b/projects/clr/rocclr/device/devkernel.cpp index fdd20a0e37..f3d6e71762 100644 --- a/projects/clr/rocclr/device/devkernel.cpp +++ b/projects/clr/rocclr/device/devkernel.cpp @@ -570,7 +570,7 @@ static amd_comgr_status_t populateKernelMetaV3(const amd_comgr_metadata_node_t k kernel->SetWGPMode(buf.compare("true") == 0); break; case KernelField::UniformWrokGroupSize: - kernel->setUniformWorkGroupSize(buf.compare("true") == 0); + kernel->setUniformWorkGroupSize(buf.compare("1") == 0); break; default: return AMD_COMGR_STATUS_ERROR; diff --git a/projects/clr/rocclr/device/pal/palprogram.cpp b/projects/clr/rocclr/device/pal/palprogram.cpp index cbd517eea8..fb5ed4e141 100644 --- a/projects/clr/rocclr/device/pal/palprogram.cpp +++ b/projects/clr/rocclr/device/pal/palprogram.cpp @@ -748,8 +748,9 @@ bool LightningProgram::createKernels(void* binary, size_t binSize, bool useUnifo return false; } kernels()[kernelName] = kernel; - - kernel->setUniformWorkGroupSize(useUniformWorkGroupSize); + if (codeObjectVer() < 5) { + kernel->setUniformWorkGroupSize(useUniformWorkGroupSize); + } } executable_ = loader_->CreateExecutable(HSA_PROFILE_FULL, nullptr); diff --git a/projects/clr/rocclr/device/rocm/rocprogram.cpp b/projects/clr/rocclr/device/rocm/rocprogram.cpp index 4f77026d6a..580803fdeb 100644 --- a/projects/clr/rocclr/device/rocm/rocprogram.cpp +++ b/projects/clr/rocclr/device/rocm/rocprogram.cpp @@ -274,7 +274,9 @@ bool LightningProgram::createKernels(void* binary, size_t binSize, bool useUnifo if (!aKernel->init()) { return false; } - aKernel->setUniformWorkGroupSize(useUniformWorkGroupSize); + if (codeObjectVer() < 5) { + aKernel->setUniformWorkGroupSize(useUniformWorkGroupSize); + } aKernel->setInternalKernelFlag(internalKernel); kernels()[kernelName] = aKernel; }