From ee3d9ee49c2ea08ea40b95d2e6159a027740c1aa Mon Sep 17 00:00:00 2001 From: Ye Luo Date: Mon, 19 Dec 2022 18:26:38 -0600 Subject: [PATCH] [OpenMP] Change the nextgen plugin kernel thread count scheme as old plugins' Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D140352 --- .../plugins-nextgen/common/PluginInterface/PluginInterface.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp b/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp index eb03e3b..83b656a 100644 --- a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp +++ b/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp @@ -36,8 +36,6 @@ AsyncInfoWrapperTy::~AsyncInfoWrapperTy() { Error GenericKernelTy::init(GenericDeviceTy &GenericDevice, DeviceImageTy &Image) { PreferredNumThreads = getDefaultNumThreads(GenericDevice); - if (isGenericMode()) - PreferredNumThreads += GenericDevice.getWarpSize(); MaxNumThreads = GenericDevice.getThreadLimit(); @@ -92,6 +90,9 @@ void *GenericKernelTy::prepareArgs(GenericDeviceTy &GenericDevice, uint32_t GenericKernelTy::getNumThreads(GenericDeviceTy &GenericDevice, uint32_t ThreadLimitClause) const { + if (ThreadLimitClause > 0 && isGenericMode()) + ThreadLimitClause += GenericDevice.getWarpSize(); + return std::min(MaxNumThreads, (ThreadLimitClause > 0) ? ThreadLimitClause : PreferredNumThreads); } -- 2.7.4