diff --git a/projects/clr/rocclr/runtime/device/pal/palkernel.cpp b/projects/clr/rocclr/runtime/device/pal/palkernel.cpp index 6398e50c84..5efc0a0192 100644 --- a/projects/clr/rocclr/runtime/device/pal/palkernel.cpp +++ b/projects/clr/rocclr/runtime/device/pal/palkernel.cpp @@ -1533,12 +1533,10 @@ bool LightningKernel::init(amd::hsa::loader::Symbol* symbol) { // Copy wavefront size workGroupInfo_.wavefrontSize_ = dev().info().wavefrontWidth_; - // Find total workgroup size - if (workGroupInfo_.compileSize_[0] != 0) { - workGroupInfo_.size_ = workGroupInfo_.compileSize_[0] * workGroupInfo_.compileSize_[1] * - workGroupInfo_.compileSize_[2]; - } else { - workGroupInfo_.size_ = dev().info().preferredWorkGroupSize_; + + workGroupInfo_.size_ = kernelMD->mCodeProps.mMaxFlatWorkGroupSize; + if (workGroupInfo_.size_ == 0) { + return false; } initPrintf(programMD->mPrintf); diff --git a/projects/clr/rocclr/runtime/device/rocm/rockernel.cpp b/projects/clr/rocclr/runtime/device/rocm/rockernel.cpp index 79c66ee384..87702089b9 100644 --- a/projects/clr/rocclr/runtime/device/rocm/rockernel.cpp +++ b/projects/clr/rocclr/runtime/device/rocm/rockernel.cpp @@ -716,11 +716,9 @@ bool Kernel::init_LC() { workGroupInfo_.wavefrontSize_ = wavefront_size; - if (workGroupInfo_.compileSize_[0] != 0) { - workGroupInfo_.size_ = workGroupInfo_.compileSize_[0] * workGroupInfo_.compileSize_[1] * - workGroupInfo_.compileSize_[2]; - } else { - workGroupInfo_.size_ = program_->dev().info().preferredWorkGroupSize_; + workGroupInfo_.size_ = kernelMD->mCodeProps.mMaxFlatWorkGroupSize; + if (workGroupInfo_.size_ == 0) { + return false; } initPrintf_LC(programMD->mPrintf);