Skip to content

Commit 36e17ce

Browse files
Revert "Include dynamic SLM in clGetKernelWorkGroupInfo"
This reverts commit ccdb5aa. Signed-off-by: Compute-Runtime-Validation <[email protected]>
1 parent a4f13e1 commit 36e17ce

File tree

3 files changed

+7
-53
lines changed

3 files changed

+7
-53
lines changed

opencl/source/kernel/kernel.cpp

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ Kernel::Kernel(Program *programArg, const KernelInfo &kernelInfoArg, ClDevice &c
7575
} else {
7676
maxKernelWorkGroupSize = static_cast<uint32_t>(deviceInfo.maxWorkGroupSize);
7777
}
78-
79-
slmTotalSize = slmTotalSum = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize;
78+
slmTotalSize = kernelInfoArg.kernelDescriptor.kernelAttributes.slmInlineSize;
8079
}
8180

8281
Kernel::~Kernel() {
@@ -528,7 +527,7 @@ cl_int Kernel::getWorkGroupInfo(cl_kernel_work_group_info paramName,
528527
struct size_t3 {
529528
size_t val[3];
530529
} requiredWorkGroupSize;
531-
size_t totalLocalMemorySize = static_cast<size_t>(slmTotalSum);
530+
cl_ulong localMemorySize;
532531
const auto &kernelDescriptor = kernelInfo.kernelDescriptor;
533532
size_t preferredWorkGroupSizeMultiple = 0;
534533
cl_ulong scratchSize;
@@ -559,8 +558,9 @@ cl_int Kernel::getWorkGroupInfo(cl_kernel_work_group_info paramName,
559558
break;
560559

561560
case CL_KERNEL_LOCAL_MEM_SIZE:
562-
srcSize = sizeof(totalLocalMemorySize);
563-
pSrc = &totalLocalMemorySize;
561+
localMemorySize = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize;
562+
srcSize = sizeof(localMemorySize);
563+
pSrc = &localMemorySize;
564564
break;
565565

566566
case CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE:
@@ -1376,14 +1376,6 @@ cl_int Kernel::setArgLocal(uint32_t argIndexIn,
13761376

13771377
slmTotalSize = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize + alignUp(slmOffset, KB);
13781378

1379-
uint32_t slmSum = 0;
1380-
for (const auto &kernelArg : kernelArguments) {
1381-
if (kernelArg.type == SLM_OBJ) {
1382-
slmSum += static_cast<uint32_t>(kernelArg.size);
1383-
}
1384-
}
1385-
slmTotalSum = kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize + alignUp(slmSum, KB);
1386-
13871379
return CL_SUCCESS;
13881380
}
13891381

opencl/source/kernel/kernel.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,6 @@ class Kernel : public ReferenceTrackedObject<Kernel> {
519519
uint32_t additionalKernelExecInfo = AdditionalKernelExecInfo::DisableOverdispatch;
520520
uint32_t maxKernelWorkGroupSize = 0;
521521
uint32_t slmTotalSize = 0u;
522-
uint32_t slmTotalSum = 0u;
523522
uint32_t sshLocalSize = 0u;
524523
uint32_t crossThreadDataSize = 0u;
525524

opencl/test/unit_test/kernel/kernel_tests.cpp

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ TEST_F(KernelTests, GivenKernelCompileWorkGroupSizeWhenGettingWorkGroupInfoThenC
312312
EXPECT_EQ(paramValueSize, paramValueSizeRet);
313313
}
314314

315-
TEST_F(KernelTests, GivenRequiredDisabledEUFusionFlagWhenGettingPrefferedWorkGroupSizeMultipleThenCorrectValueIsReturned) {
315+
TEST_F(KernelTests, GivenRequiredDisabledEUFusionFlagWhenGettingPrefferedWorkGroupSizeMultipleThenCorectValueIsReturned) {
316316
KernelInfo kernelInfo = {};
317317
kernelInfo.kernelDescriptor.kernelAttributes.flags.requiresDisabledEUFusion = true;
318318
MockKernel kernel(pProgram, kernelInfo, *pClDevice);
@@ -337,44 +337,7 @@ TEST_F(KernelTests, GivenRequiredDisabledEUFusionFlagWhenGettingPrefferedWorkGro
337337
EXPECT_EQ(expectedValue, paramValue);
338338
}
339339

340-
TEST_F(KernelTests, GivenSlmInlineSizeAndSlmOffsetWhenGettingWorkGroupInfoThenCorrectValueIsReturned) {
341-
MockKernelInfo kernelInfo = {};
342-
kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize = 100u;
343-
344-
kernelInfo.addArgLocal(0, 0x10, 0x1);
345-
kernelInfo.addArgBuffer(1, 0x20, sizeof(void *));
346-
kernelInfo.addArgBuffer(2, 0x20, sizeof(void *));
347-
kernelInfo.addArgLocal(3, 0x30, 0x10);
348-
349-
MockKernel kernel(pProgram, kernelInfo, *pClDevice);
350-
kernel.kernelArguments.resize(4);
351-
kernel.slmSizes.resize(4);
352-
353-
uint32_t crossThreadData[0x40]{};
354-
crossThreadData[0x20 / sizeof(uint32_t)] = 0x12344321;
355-
kernel.setCrossThreadData(crossThreadData, sizeof(crossThreadData));
356-
357-
kernel.setArgLocal(0, 4096, nullptr);
358-
kernel.setArgLocal(3, 0, nullptr);
359-
360-
cl_kernel_info paramName = CL_KERNEL_LOCAL_MEM_SIZE;
361-
size_t paramValue;
362-
size_t paramValueSize = sizeof(paramValue);
363-
size_t paramValueSizeRet = 0;
364-
size_t expectedValue = 4096 + 0 + 100;
365-
366-
retVal = kernel.getWorkGroupInfo(
367-
paramName,
368-
paramValueSize,
369-
&paramValue,
370-
&paramValueSizeRet);
371-
372-
EXPECT_EQ(CL_SUCCESS, retVal);
373-
EXPECT_EQ(paramValueSize, paramValueSizeRet);
374-
EXPECT_EQ(expectedValue, paramValue);
375-
}
376-
377-
TEST_F(KernelTests, GivenCFEFusedEUDispatchEnabledAndRequiredDisabledUEFusionWhenGettingPrefferedWorkGroupSizeMultipleThenCorrectValueIsReturned) {
340+
TEST_F(KernelTests, GivenCFEFusedEUDispatchEnabledAndRequiredDisabledUEFusionWhenGettingPrefferedWorkGroupSizeMultipleThenCorectValueIsReturned) {
378341
DebugManagerStateRestore dbgRestorer;
379342
DebugManager.flags.CFEFusedEUDispatch.set(0);
380343

0 commit comments

Comments
 (0)