diff --git a/rocclr/device/devkernel.cpp b/rocclr/device/devkernel.cpp index 2b919bf563..84e6ab7e87 100644 --- a/rocclr/device/devkernel.cpp +++ b/rocclr/device/devkernel.cpp @@ -575,7 +575,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/rocclr/device/pal/palprogram.cpp b/rocclr/device/pal/palprogram.cpp index d70e3df9cc..665ebf4038 100644 --- a/rocclr/device/pal/palprogram.cpp +++ b/rocclr/device/pal/palprogram.cpp @@ -762,7 +762,9 @@ bool LightningProgram::createKernels(void* binary, size_t binSize, bool useUnifo } kernels()[kernelName] = kernel; - kernel->setUniformWorkGroupSize(useUniformWorkGroupSize); + if (codeObjectVer() < 5) { + kernel->setUniformWorkGroupSize(useUniformWorkGroupSize); + } } } executable_ = loader_->CreateExecutable(HSA_PROFILE_FULL, nullptr); diff --git a/rocclr/device/rocm/rocprogram.cpp b/rocclr/device/rocm/rocprogram.cpp index 4f77026d6a..580803fdeb 100644 --- a/rocclr/device/rocm/rocprogram.cpp +++ b/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; }