Revert "Include dynamic SLM in clGetKernelWorkGroupInfo"

This reverts commit ccdb5aaa2a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
This commit is contained in:
Compute-Runtime-Validation
2022-10-02 05:25:42 +02:00
committed by Compute-Runtime-Automation
parent a4f13e1984
commit 36e17cebef
3 changed files with 7 additions and 53 deletions

View File

@@ -75,8 +75,7 @@ Kernel::Kernel(Program *programArg, const KernelInfo &kernelInfoArg, ClDevice &c
} else {
maxKernelWorkGroupSize = static_cast<uint32_t>(deviceInfo.maxWorkGroupSize);
}
slmTotalSize = slmTotalSum = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize;
slmTotalSize = kernelInfoArg.kernelDescriptor.kernelAttributes.slmInlineSize;
}
Kernel::~Kernel() {
@@ -528,7 +527,7 @@ cl_int Kernel::getWorkGroupInfo(cl_kernel_work_group_info paramName,
struct size_t3 {
size_t val[3];
} requiredWorkGroupSize;
size_t totalLocalMemorySize = static_cast<size_t>(slmTotalSum);
cl_ulong localMemorySize;
const auto &kernelDescriptor = kernelInfo.kernelDescriptor;
size_t preferredWorkGroupSizeMultiple = 0;
cl_ulong scratchSize;
@@ -559,8 +558,9 @@ cl_int Kernel::getWorkGroupInfo(cl_kernel_work_group_info paramName,
break;
case CL_KERNEL_LOCAL_MEM_SIZE:
srcSize = sizeof(totalLocalMemorySize);
pSrc = &totalLocalMemorySize;
localMemorySize = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize;
srcSize = sizeof(localMemorySize);
pSrc = &localMemorySize;
break;
case CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE:
@@ -1376,14 +1376,6 @@ cl_int Kernel::setArgLocal(uint32_t argIndexIn,
slmTotalSize = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize + alignUp(slmOffset, KB);
uint32_t slmSum = 0;
for (const auto &kernelArg : kernelArguments) {
if (kernelArg.type == SLM_OBJ) {
slmSum += static_cast<uint32_t>(kernelArg.size);
}
}
slmTotalSum = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize + alignUp(slmSum, KB);
return CL_SUCCESS;
}

View File

@@ -519,7 +519,6 @@ class Kernel : public ReferenceTrackedObject<Kernel> {
uint32_t additionalKernelExecInfo = AdditionalKernelExecInfo::DisableOverdispatch;
uint32_t maxKernelWorkGroupSize = 0;
uint32_t slmTotalSize = 0u;
uint32_t slmTotalSum = 0u;
uint32_t sshLocalSize = 0u;
uint32_t crossThreadDataSize = 0u;

View File

@@ -312,7 +312,7 @@ TEST_F(KernelTests, GivenKernelCompileWorkGroupSizeWhenGettingWorkGroupInfoThenC
EXPECT_EQ(paramValueSize, paramValueSizeRet);
}
TEST_F(KernelTests, GivenRequiredDisabledEUFusionFlagWhenGettingPrefferedWorkGroupSizeMultipleThenCorrectValueIsReturned) {
TEST_F(KernelTests, GivenRequiredDisabledEUFusionFlagWhenGettingPrefferedWorkGroupSizeMultipleThenCorectValueIsReturned) {
KernelInfo kernelInfo = {};
kernelInfo.kernelDescriptor.kernelAttributes.flags.requiresDisabledEUFusion = true;
MockKernel kernel(pProgram, kernelInfo, *pClDevice);
@@ -337,44 +337,7 @@ TEST_F(KernelTests, GivenRequiredDisabledEUFusionFlagWhenGettingPrefferedWorkGro
EXPECT_EQ(expectedValue, paramValue);
}
TEST_F(KernelTests, GivenSlmInlineSizeAndSlmOffsetWhenGettingWorkGroupInfoThenCorrectValueIsReturned) {
MockKernelInfo kernelInfo = {};
kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize = 100u;
kernelInfo.addArgLocal(0, 0x10, 0x1);
kernelInfo.addArgBuffer(1, 0x20, sizeof(void *));
kernelInfo.addArgBuffer(2, 0x20, sizeof(void *));
kernelInfo.addArgLocal(3, 0x30, 0x10);
MockKernel kernel(pProgram, kernelInfo, *pClDevice);
kernel.kernelArguments.resize(4);
kernel.slmSizes.resize(4);
uint32_t crossThreadData[0x40]{};
crossThreadData[0x20 / sizeof(uint32_t)] = 0x12344321;
kernel.setCrossThreadData(crossThreadData, sizeof(crossThreadData));
kernel.setArgLocal(0, 4096, nullptr);
kernel.setArgLocal(3, 0, nullptr);
cl_kernel_info paramName = CL_KERNEL_LOCAL_MEM_SIZE;
size_t paramValue;
size_t paramValueSize = sizeof(paramValue);
size_t paramValueSizeRet = 0;
size_t expectedValue = 4096 + 0 + 100;
retVal = kernel.getWorkGroupInfo(
paramName,
paramValueSize,
&paramValue,
&paramValueSizeRet);
EXPECT_EQ(CL_SUCCESS, retVal);
EXPECT_EQ(paramValueSize, paramValueSizeRet);
EXPECT_EQ(expectedValue, paramValue);
}
TEST_F(KernelTests, GivenCFEFusedEUDispatchEnabledAndRequiredDisabledUEFusionWhenGettingPrefferedWorkGroupSizeMultipleThenCorrectValueIsReturned) {
TEST_F(KernelTests, GivenCFEFusedEUDispatchEnabledAndRequiredDisabledUEFusionWhenGettingPrefferedWorkGroupSizeMultipleThenCorectValueIsReturned) {
DebugManagerStateRestore dbgRestorer;
DebugManager.flags.CFEFusedEUDispatch.set(0);