@@ -341,8 +341,18 @@ TEST_F(KernelImpSetGroupSizeTest, givenIncorrectGroupSizeDimensionWhenSettingGro
341
341
}
342
342
mockKernel.module = &mockModule;
343
343
344
- uint32_t groupSize[3 ] = {1 , 1 , 1 };
344
+ uint32_t groupSize[3 ] = {2 , 2 , 2 };
345
345
auto ret = mockKernel.setGroupSize (groupSize[0 ], groupSize[1 ], groupSize[2 ]);
346
+ EXPECT_EQ (ZE_RESULT_SUCCESS, ret);
347
+
348
+ groupSize[0 ] = 1 ;
349
+ groupSize[1 ] = 1 ;
350
+ groupSize[2 ] = 1 ;
351
+ ret = mockKernel.setGroupSize (groupSize[0 ], groupSize[1 ], groupSize[2 ]);
352
+ EXPECT_EQ (ZE_RESULT_ERROR_INVALID_GROUP_SIZE_DIMENSION, ret);
353
+
354
+ // check that caching does not hide error
355
+ ret = mockKernel.setGroupSize (groupSize[0 ], groupSize[1 ], groupSize[2 ]);
346
356
EXPECT_EQ (ZE_RESULT_ERROR_INVALID_GROUP_SIZE_DIMENSION, ret);
347
357
}
348
358
@@ -647,6 +657,28 @@ TEST_F(KernelImmutableDataTests, givenKernelInitializedWithNoPrivateMemoryThenPr
647
657
EXPECT_EQ (nullptr , kernel->privateMemoryGraphicsAllocation );
648
658
}
649
659
660
+ TEST_F (KernelImmutableDataTests, givenKernelInitializedWithRequiredGroupSizeThenGroupSizeIsSetByDefault) {
661
+ uint32_t perHwThreadPrivateMemorySizeRequested = 0u ;
662
+ bool isInternal = false ;
663
+
664
+ std::unique_ptr<MockImmutableData> mockKernelImmData = std::make_unique<MockImmutableData>(perHwThreadPrivateMemorySizeRequested);
665
+ mockKernelImmData->mockKernelDescriptor ->kernelAttributes .requiredWorkgroupSize [0 ] = 2u ;
666
+ mockKernelImmData->mockKernelDescriptor ->kernelAttributes .requiredWorkgroupSize [1 ] = 3u ;
667
+ mockKernelImmData->mockKernelDescriptor ->kernelAttributes .requiredWorkgroupSize [2 ] = 4u ;
668
+
669
+ createModuleFromMockBinary (perHwThreadPrivateMemorySizeRequested, isInternal, mockKernelImmData.get ());
670
+
671
+ std::unique_ptr<ModuleImmutableDataFixture::MockKernel> kernel;
672
+ kernel = std::make_unique<ModuleImmutableDataFixture::MockKernel>(module .get ());
673
+
674
+ createKernel (kernel.get ());
675
+
676
+ auto groupSize = kernel->getGroupSize ();
677
+ EXPECT_EQ (groupSize[0 ], 2u );
678
+ EXPECT_EQ (groupSize[1 ], 3u );
679
+ EXPECT_EQ (groupSize[2 ], 4u );
680
+ }
681
+
650
682
TEST_F (KernelImmutableDataTests, givenKernelInitializedWithPrivateMemoryThenPrivateMemoryIsCreated) {
651
683
uint32_t perHwThreadPrivateMemorySizeRequested = 32u ;
652
684
bool isInternal = false ;
0 commit comments