From 451c48fc2f4b930558c42718e7b819c28a415315 Mon Sep 17 00:00:00 2001 From: "Mrozek, Michal" Date: Mon, 11 Sep 2023 15:02:49 +0000 Subject: [PATCH] refactor: remove not needed code. Signed-off-by: Mrozek, Michal --- .../source/cmdlist/cmdlist_hw_immediate.inl | 16 +-- .../sources/cmdlist/test_cmdlist_7.cpp | 122 ++++++++---------- .../debug_settings/debug_variables_base.inl | 1 - shared/test/common/test_files/igdrcl.config | 1 - 4 files changed, 52 insertions(+), 88 deletions(-) diff --git a/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl b/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl index b9d4cc66ce..66431597c1 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl @@ -408,21 +408,7 @@ inline ze_result_t CommandListCoreFamilyImmediate::executeCommand template bool CommandListCoreFamilyImmediate::waitForEventsFromHost() { - bool waitForEventsFromHostEnabled = this->isWaitForEventsFromHostEnabled(); - if (!waitForEventsFromHostEnabled) { - return false; - } - - auto numClients = static_cast(this->cmdQImmediate)->getCsr()->getNumClients(); - auto numClientsLimit = 2u; - if (NEO::DebugManager.flags.EventWaitOnHostNumClients.get() != -1) { - numClientsLimit = NEO::DebugManager.flags.EventWaitOnHostNumClients.get(); - } - if (numClients < numClientsLimit) { - return false; - }; - - return true; + return this->isWaitForEventsFromHostEnabled(); } template diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp index b52412b2c0..7fcfaf00c3 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_7.cpp @@ -628,11 +628,61 @@ HWTEST2_F(CmdlistAppendLaunchKernelTests, commandList->cmdQImmediate = nullptr; } +HWTEST2_F(CmdlistAppendLaunchKernelTests, + givenImmediateCommandListUsesFlushTaskWhenDispatchingKernelWithSpillAndPrivateScratchSpaceThenExpectCsrHasCorrectValuesSet, IsAtLeastXeHpCore) { + constexpr uint32_t scratchPerThreadSize = 0x200; + constexpr uint32_t privateScratchPerThreadSize = 0x100; + + std::unique_ptr mockKernelImmData = std::make_unique(0u); + auto kernelDescriptor = mockKernelImmData->kernelDescriptor; + kernelDescriptor->kernelAttributes.flags.requiresImplicitArgs = false; + kernelDescriptor->kernelAttributes.perThreadScratchSize[0] = scratchPerThreadSize; + kernelDescriptor->kernelAttributes.perThreadScratchSize[1] = privateScratchPerThreadSize; + createModuleFromMockBinary(0u, false, mockKernelImmData.get()); + + auto kernel = std::make_unique(module.get()); + + ze_kernel_desc_t kernelDesc{ZE_STRUCTURE_TYPE_KERNEL_DESC}; + kernel->initialize(&kernelDesc); + + kernel->setGroupSize(4, 5, 6); + kernel->setGroupCount(3, 2, 1); + kernel->setGlobalOffsetExp(1, 2, 3); + kernel->patchGlobalOffset(); + + ze_result_t result = ZE_RESULT_SUCCESS; + auto commandList = std::make_unique>>(); + ASSERT_NE(nullptr, commandList); + commandList->isFlushTaskSubmissionEnabled = true; + ze_result_t ret = commandList->initialize(device, NEO::EngineGroupType::RenderCompute, 0u); + ASSERT_EQ(ZE_RESULT_SUCCESS, ret); + commandList->device = device; + commandList->cmdListType = CommandList::CommandListType::TYPE_IMMEDIATE; + commandList->csr = device->getNEODevice()->getDefaultEngine().commandStreamReceiver; + ze_command_queue_desc_t desc = {}; + desc.mode = ZE_COMMAND_QUEUE_MODE_SYNCHRONOUS; + MockCommandQueueHw mockCommandQueue(device, device->getNEODevice()->getDefaultEngine().commandStreamReceiver, &desc); + commandList->cmdQImmediate = &mockCommandQueue; + commandList->getCmdContainer().setImmediateCmdListCsr(device->getNEODevice()->getDefaultEngine().commandStreamReceiver); + + ze_group_count_t groupCount = {3, 2, 1}; + CmdListKernelLaunchParams launchParams = {}; + result = commandList->appendLaunchKernel(kernel->toHandle(), &groupCount, nullptr, 0, nullptr, launchParams, false); + EXPECT_EQ(ZE_RESULT_SUCCESS, result); + + EXPECT_EQ(scratchPerThreadSize, commandList->getCommandListPerThreadScratchSize()); + EXPECT_EQ(privateScratchPerThreadSize, commandList->getCommandListPerThreadPrivateScratchSize()); + + auto ultCsr = reinterpret_cast *>(device->getNEODevice()->getDefaultEngine().commandStreamReceiver); + EXPECT_EQ(scratchPerThreadSize, ultCsr->requiredScratchSize); + EXPECT_EQ(privateScratchPerThreadSize, ultCsr->requiredPrivateScratchSize); + commandList->cmdQImmediate = nullptr; +} + HWTEST2_F(CmdlistAppendLaunchKernelTests, givenEventWaitOnHostWhenAppendLaunchKernelWithEventWaitListThenHostSynchronize, IsAtLeastXeHpCore) { DebugManagerStateRestore restorer; NEO::DebugManager.flags.EventWaitOnHost.set(1); - NEO::DebugManager.flags.EventWaitOnHostNumClients.set(0); constexpr uint32_t scratchPerThreadSize = 0x200; constexpr uint32_t privateScratchPerThreadSize = 0x100; @@ -695,76 +745,6 @@ HWTEST2_F(CmdlistAppendLaunchKernelTests, CommandList::fromHandle(cmdListHandle)->destroy(); } -HWTEST2_F(CmdlistAppendLaunchKernelTests, - givenEventWaitOnHostNumClientsNotSetWhenWaitForEventsFromHostThenReturnFalse, IsAtLeastXeHpCore) { - DebugManagerStateRestore restorer; - NEO::DebugManager.flags.EventWaitOnHost.set(1); - - ze_command_list_handle_t cmdListHandle; - ze_command_queue_desc_t queueDesc = {ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC}; - queueDesc.ordinal = 0; - queueDesc.index = 0; - device->createCommandListImmediate(&queueDesc, &cmdListHandle); - auto whiteBoxCmdList = static_cast(CommandList::fromHandle(cmdListHandle)); - - EXPECT_EQ(static_cast(whiteBoxCmdList->cmdQImmediate)->getCsr()->getNumClients(), 0u); - - EXPECT_FALSE(static_cast *>(CommandList::fromHandle(cmdListHandle))->waitForEventsFromHost()); - - CommandList::fromHandle(cmdListHandle)->destroy(); -} - -HWTEST2_F(CmdlistAppendLaunchKernelTests, - givenImmediateCommandListUsesFlushTaskWhenDispatchingKernelWithSpillAndPrivateScratchSpaceThenExpectCsrHasCorrectValuesSet, IsAtLeastXeHpCore) { - constexpr uint32_t scratchPerThreadSize = 0x200; - constexpr uint32_t privateScratchPerThreadSize = 0x100; - - std::unique_ptr mockKernelImmData = std::make_unique(0u); - auto kernelDescriptor = mockKernelImmData->kernelDescriptor; - kernelDescriptor->kernelAttributes.flags.requiresImplicitArgs = false; - kernelDescriptor->kernelAttributes.perThreadScratchSize[0] = scratchPerThreadSize; - kernelDescriptor->kernelAttributes.perThreadScratchSize[1] = privateScratchPerThreadSize; - createModuleFromMockBinary(0u, false, mockKernelImmData.get()); - - auto kernel = std::make_unique(module.get()); - - ze_kernel_desc_t kernelDesc{ZE_STRUCTURE_TYPE_KERNEL_DESC}; - kernel->initialize(&kernelDesc); - - kernel->setGroupSize(4, 5, 6); - kernel->setGroupCount(3, 2, 1); - kernel->setGlobalOffsetExp(1, 2, 3); - kernel->patchGlobalOffset(); - - ze_result_t result = ZE_RESULT_SUCCESS; - auto commandList = std::make_unique>>(); - ASSERT_NE(nullptr, commandList); - commandList->isFlushTaskSubmissionEnabled = true; - ze_result_t ret = commandList->initialize(device, NEO::EngineGroupType::RenderCompute, 0u); - ASSERT_EQ(ZE_RESULT_SUCCESS, ret); - commandList->device = device; - commandList->cmdListType = CommandList::CommandListType::TYPE_IMMEDIATE; - commandList->csr = device->getNEODevice()->getDefaultEngine().commandStreamReceiver; - ze_command_queue_desc_t desc = {}; - desc.mode = ZE_COMMAND_QUEUE_MODE_SYNCHRONOUS; - MockCommandQueueHw mockCommandQueue(device, device->getNEODevice()->getDefaultEngine().commandStreamReceiver, &desc); - commandList->cmdQImmediate = &mockCommandQueue; - commandList->getCmdContainer().setImmediateCmdListCsr(device->getNEODevice()->getDefaultEngine().commandStreamReceiver); - - ze_group_count_t groupCount = {3, 2, 1}; - CmdListKernelLaunchParams launchParams = {}; - result = commandList->appendLaunchKernel(kernel->toHandle(), &groupCount, nullptr, 0, nullptr, launchParams, false); - EXPECT_EQ(ZE_RESULT_SUCCESS, result); - - EXPECT_EQ(scratchPerThreadSize, commandList->getCommandListPerThreadScratchSize()); - EXPECT_EQ(privateScratchPerThreadSize, commandList->getCommandListPerThreadPrivateScratchSize()); - - auto ultCsr = reinterpret_cast *>(device->getNEODevice()->getDefaultEngine().commandStreamReceiver); - EXPECT_EQ(scratchPerThreadSize, ultCsr->requiredScratchSize); - EXPECT_EQ(privateScratchPerThreadSize, ultCsr->requiredPrivateScratchSize); - commandList->cmdQImmediate = nullptr; -} - using FrontEndMultiReturnCommandListTest = Test>; HWTEST2_F(FrontEndMultiReturnCommandListTest, givenFrontEndTrackingIsUsedWhenPropertyDisableEuFusionSupportedThenExpectReturnPointsAndBbEndProgramming, IsAtLeastSkl) { diff --git a/shared/source/debug_settings/debug_variables_base.inl b/shared/source/debug_settings/debug_variables_base.inl index 29487873ba..2509847ed4 100644 --- a/shared/source/debug_settings/debug_variables_base.inl +++ b/shared/source/debug_settings/debug_variables_base.inl @@ -319,7 +319,6 @@ DECLARE_DEBUG_VARIABLE(int32_t, PerformImplicitFlushEveryEnqueueCount, -1, "If g DECLARE_DEBUG_VARIABLE(int32_t, PerformImplicitFlushForNewResource, -1, "-1: platform specific, 0: force disable, 1: force enable") DECLARE_DEBUG_VARIABLE(int32_t, PerformImplicitFlushForIdleGpu, -1, "-1: platform specific, 0: force disable, 1: force enable") DECLARE_DEBUG_VARIABLE(int32_t, EventWaitOnHost, -1, "Wait for events on host instead of program semaphores for them, works for append kernel launch with immediate command list, -1: default, 0: disable, 1: enable") -DECLARE_DEBUG_VARIABLE(int32_t, EventWaitOnHostNumClients, -1, "Number of command queues created within csr from which event wait on host will be applied, -1: default=2, >=0: client count") DECLARE_DEBUG_VARIABLE(int32_t, EnableCacheFlushAfterWalkerForAllQueues, -1, "Enable cache flush after walker even if queue doesn't require it") DECLARE_DEBUG_VARIABLE(int32_t, OverrideKernelSizeLimitForSmallDispatch, -1, "-1: default, >=0: on XEHP+ changes the threshold for treating kernel as small during NULL LWS selection") DECLARE_DEBUG_VARIABLE(int32_t, OverrideUseKmdWaitFunction, -1, "-1: default (L0: disabled), 0: disabled, 1: enabled. It uses only busy loop to wait or busy loop with KMD wait function, when KMD fallback is enabled") diff --git a/shared/test/common/test_files/igdrcl.config b/shared/test/common/test_files/igdrcl.config index 326e384d37..6459938923 100644 --- a/shared/test/common/test_files/igdrcl.config +++ b/shared/test/common/test_files/igdrcl.config @@ -343,7 +343,6 @@ SetKmdWaitTimeout = -1 OverrideNotifyEnableForTagUpdatePostSync = -1 OverrideUseKmdWaitFunction = -1 EventWaitOnHost = -1 -EventWaitOnHostNumClients = -1 EnableCacheFlushAfterWalkerForAllQueues = -1 Force32BitDriverSupport = -1 EnableCopyEngineSelector = -1