[Openmp-commits] [PATCH] D105073: [libomptarget] [amdgpu] Fix default setting of max flat workgroup size
Dhruva Chakrabarti via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Mon Jun 28 18:15:46 PDT 2021
dhruvachak created this revision.
dhruvachak added a reviewer: JonChesterfield.
Herald added subscribers: kerbowa, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl.
dhruvachak requested review of this revision.
Herald added subscribers: openmp-commits, wdng.
Herald added a project: OpenMP.
When max flat workgroup size is not specified, it is set to the default
workgroup size. This prevents kernel launch with a workgroup size larger
than the default. The fix is to ignore a size of 0 and treat it as
unspecified.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D105073
Files:
openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
Index: openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
===================================================================
--- openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
+++ openmp/libomptarget/plugins/amdgpu/src/rtl.cpp
@@ -1707,10 +1707,9 @@
// Get ExecMode
ExecModeVal = KernDescVal.Mode;
DP("ExecModeVal %d\n", ExecModeVal);
- if (KernDescVal.WG_Size == 0) {
- KernDescVal.WG_Size = RTLDeviceInfoTy::Default_WG_Size;
- DP("Setting KernDescVal.WG_Size to default %d\n", KernDescVal.WG_Size);
- }
+ // If KernDescVal.WG_Size is 0, it is equivalent to not
+ // specified. Hence, max_flat_workgroup_size is filtered out in
+ // getLaunchVals
WGSizeVal = KernDescVal.WG_Size;
DP("WGSizeVal %d\n", WGSizeVal);
check("Loading KernDesc computation property", err);
@@ -1920,7 +1919,7 @@
}
}
// check flat_max_work_group_size attr here
- if (threadsPerGroup > ConstWGSize) {
+ if (ConstWGSize > 0 && threadsPerGroup > ConstWGSize) {
threadsPerGroup = ConstWGSize;
DP("Reduced threadsPerGroup to flat-attr-group-size limit %d\n",
threadsPerGroup);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105073.355079.patch
Type: text/x-patch
Size: 1157 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210629/16ecd3b0/attachment.bin>
More information about the Openmp-commits
mailing list