From 680e62d333b0012ae54e79b6c827c8655fd477b5 Mon Sep 17 00:00:00 2001 From: Compute-Runtime-Validation Date: Wed, 2 Oct 2024 05:04:43 +0200 Subject: [PATCH] Revert "performance: Set dispatch all for small TG" This reverts commit 0dc2870513a8c7e8679bd190be44eec4851c255d. Signed-off-by: Compute-Runtime-Validation --- .../hardware_interface_bdw_and_later.inl | 2 +- .../hardware_interface_xehp_and_later.inl | 2 +- .../dispatch_walker_tests_dg2_and_later.cpp | 2 +- .../unit_test/xe2_hpg_core/CMakeLists.txt | 1 + .../dispatch_walker_tests_xe2_hpg_core.cpp | 44 +++++++++++ .../command_container/command_encoder.h | 4 +- .../command_encoder_bdw_and_later.inl | 4 +- .../command_encoder_enablers.inl | 2 +- .../command_encoder_xehp_and_later.inl | 2 +- .../execution_environment.cpp | 1 - .../root_device_environment.h | 3 - .../command_encoder_xe2_hpg_core.cpp | 10 +-- .../command_encoder_xe_hpc_core.cpp | 4 +- .../command_encoder_xe_hpg_core.cpp | 4 +- .../unit_test/xe2_hpg_core/CMakeLists.txt | 1 - .../dispatch_walker_tests_xe2_hpg_core.cpp | 77 ------------------- .../dispatch_walker_tests_xe_hpc_core.cpp | 4 +- .../pvc/dispatch_walker_tests_pvc.cpp | 4 +- .../xe_hpg_core/dg2/test_encode_dg2.cpp | 2 +- 19 files changed, 66 insertions(+), 107 deletions(-) create mode 100644 opencl/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp delete mode 100644 shared/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp diff --git a/opencl/source/command_queue/hardware_interface_bdw_and_later.inl b/opencl/source/command_queue/hardware_interface_bdw_and_later.inl index f862253cc7..144476c7e6 100644 --- a/opencl/source/command_queue/hardware_interface_bdw_and_later.inl +++ b/opencl/source/command_queue/hardware_interface_bdw_and_later.inl @@ -84,7 +84,7 @@ inline void HardwareInterface::programWalker( commandQueue.getDevice()); EncodeWalkerArgs encodeWalkerArgs{kernel.getExecutionType(), false, kernel.getKernelInfo().kernelDescriptor, NEO::RequiredDispatchWalkOrder::none, 0, 0}; - EncodeDispatchKernel::template encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, nullptr, encodeWalkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, encodeWalkerArgs); *walkerCmdBuf = walkerCmd; } } // namespace NEO diff --git a/opencl/source/command_queue/hardware_interface_xehp_and_later.inl b/opencl/source/command_queue/hardware_interface_xehp_and_later.inl index 91a3315bd5..bed9eb4147 100644 --- a/opencl/source/command_queue/hardware_interface_xehp_and_later.inl +++ b/opencl/source/command_queue/hardware_interface_xehp_and_later.inl @@ -143,7 +143,7 @@ inline void HardwareInterface::programWalker( bool requiredSystemFence = kernelSystemAllocation && walkerArgs.event != nullptr; auto maxFrontEndThreads = device.getDeviceInfo().maxFrontEndThreads; EncodeWalkerArgs encodeWalkerArgs{kernel.getExecutionType(), requiredSystemFence, kernelInfo.kernelDescriptor, NEO::RequiredDispatchWalkOrder::none, 0, maxFrontEndThreads}; - EncodeDispatchKernel::template encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, interfaceDescriptor, encodeWalkerArgs); + EncodeDispatchKernel::template encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, encodeWalkerArgs); auto devices = queueCsr.getOsContext().getDeviceBitfield(); auto partitionWalker = ImplicitScalingHelper::isImplicitScalingEnabled(devices, true); diff --git a/opencl/test/unit_test/command_queue/dispatch_walker_tests_dg2_and_later.cpp b/opencl/test/unit_test/command_queue/dispatch_walker_tests_dg2_and_later.cpp index d57296e8ab..2bffa7a486 100644 --- a/opencl/test/unit_test/command_queue/dispatch_walker_tests_dg2_and_later.cpp +++ b/opencl/test/unit_test/command_queue/dispatch_walker_tests_dg2_and_later.cpp @@ -88,7 +88,7 @@ HWTEST2_F(WalkerDispatchTestDg2AndLater, givenDebugVariableSetWhenProgramCompute EncodeWalkerArgs walkerArgs{KernelExecutionType::defaultType, true, kernelDescriptor, NEO::RequiredDispatchWalkOrder::none, 0, 0}; for (auto forceL3PrefetchForComputeWalker : {false, true}) { debugManager.flags.ForceL3PrefetchForComputeWalker.set(forceL3PrefetchForComputeWalker); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); EXPECT_EQ(!forceL3PrefetchForComputeWalker, walkerCmd.getL3PrefetchDisable()); } } diff --git a/opencl/test/unit_test/xe2_hpg_core/CMakeLists.txt b/opencl/test/unit_test/xe2_hpg_core/CMakeLists.txt index f5181dc41d..6ac7864f56 100644 --- a/opencl/test/unit_test/xe2_hpg_core/CMakeLists.txt +++ b/opencl/test/unit_test/xe2_hpg_core/CMakeLists.txt @@ -17,6 +17,7 @@ if(TESTS_XE2_HPG_CORE) ${CMAKE_CURRENT_SOURCE_DIR}/cmd_parse_tests_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/command_stream_receiver_hw_tests_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/copy_engine_tests_xe2_hpg_core.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/dispatch_walker_tests_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/enqueue_tests_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_cmds_programming_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test_cl_device_caps_xe2_hpg_core.cpp diff --git a/opencl/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp b/opencl/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp new file mode 100644 index 0000000000..eb946e0a0c --- /dev/null +++ b/opencl/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 Intel Corporation + * + * SPDX-License-Identifier: MIT + * + */ + +#include "shared/source/command_container/command_encoder.h" +#include "shared/source/kernel/kernel_descriptor.h" +#include "shared/source/os_interface/product_helper.h" +#include "shared/source/xe2_hpg_core/hw_cmds.h" +#include "shared/test/common/helpers/debug_manager_state_restore.h" +#include "shared/test/common/helpers/default_hw_info.h" +#include "shared/test/common/mocks/mock_execution_environment.h" +#include "shared/test/common/test_macros/header/per_product_test_definitions.h" +#include "shared/test/common/test_macros/test.h" + +using namespace NEO; + +using WalkerDispatchTestsXe2HpGCore = ::testing::Test; + +XE2_HPG_CORETEST_F(WalkerDispatchTestsXe2HpGCore, whenEncodeAdditionalWalkerFieldsIsCalledThenComputeDispatchAllIsCorrectlySet) { + using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER; + + DebugManagerStateRestore debugRestorer; + auto walkerCmd = FamilyType::cmdInitGpgpuWalker; + MockExecutionEnvironment mockExecutionEnvironment{}; + auto &rootDeviceEnvironment = *mockExecutionEnvironment.rootDeviceEnvironments[0]; + + KernelDescriptor kernelDescriptor; + EncodeWalkerArgs walkerArgs{KernelExecutionType::concurrent, true, kernelDescriptor, NEO::RequiredDispatchWalkOrder::none, 0, 0}; + { + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); + EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable()); + } + + { + walkerArgs.kernelExecutionType = KernelExecutionType::defaultType; + debugManager.flags.ComputeDispatchAllWalkerEnableInComputeWalker.set(1); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); + + EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable()); + } +} diff --git a/shared/source/command_container/command_encoder.h b/shared/source/command_container/command_encoder.h index 59122f2bf9..2d746d2899 100644 --- a/shared/source/command_container/command_encoder.h +++ b/shared/source/command_container/command_encoder.h @@ -125,8 +125,8 @@ struct EncodeDispatchKernel { template static void encode(CommandContainer &container, EncodeDispatchKernelArgs &args); - template - static void encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const InterfaceDescriptorType *idd, const EncodeWalkerArgs &walkerArgs); + template + static void encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs); template static void appendAdditionalIDDFields(InterfaceDescriptorType *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, diff --git a/shared/source/command_container/command_encoder_bdw_and_later.inl b/shared/source/command_container/command_encoder_bdw_and_later.inl index c2280d5211..ba17913ac2 100644 --- a/shared/source/command_container/command_encoder_bdw_and_later.inl +++ b/shared/source/command_container/command_encoder_bdw_and_later.inl @@ -406,8 +406,8 @@ void EncodeDispatchKernel::programBarrierEnable(InterfaceDescriptorType } template -template -inline void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const InterfaceDescriptorType *idd, const EncodeWalkerArgs &walkerArgs) {} +template +inline void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs) {} template template diff --git a/shared/source/command_container/command_encoder_enablers.inl b/shared/source/command_container/command_encoder_enablers.inl index ecdc7b4321..aaae61aaa7 100644 --- a/shared/source/command_container/command_encoder_enablers.inl +++ b/shared/source/command_container/command_encoder_enablers.inl @@ -10,7 +10,7 @@ #include "shared/source/command_container/command_encoder.h" template struct NEO::EncodeDispatchKernel; -template void NEO::EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const Family::INTERFACE_DESCRIPTOR_DATA *idd, const EncodeWalkerArgs &walkerArgs); +template void NEO::EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs); template void NEO::EncodeDispatchKernel::adjustTimestampPacket(Family::DefaultWalkerType &walkerCmd, const EncodeDispatchKernelArgs &args); template void NEO::EncodeDispatchKernel::setupPostSyncForRegularEvent(Family::DefaultWalkerType &walkerCmd, const EncodeDispatchKernelArgs &args); template void NEO::EncodeDispatchKernel::setupPostSyncForInOrderExec(Family::DefaultWalkerType &walkerCmd, const EncodeDispatchKernelArgs &args); diff --git a/shared/source/command_container/command_encoder_xehp_and_later.inl b/shared/source/command_container/command_encoder_xehp_and_later.inl index ae81b26496..a69f2264e6 100644 --- a/shared/source/command_container/command_encoder_xehp_and_later.inl +++ b/shared/source/command_container/command_encoder_xehp_and_later.inl @@ -408,7 +408,7 @@ void EncodeDispatchKernel::encode(CommandContainer &container, EncodeDis args.requiredDispatchWalkOrder, args.additionalSizeParam, args.device->getDeviceInfo().maxFrontEndThreads}; - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &idd, walkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); uint32_t workgroupSize = args.dispatchInterface->getGroupSize()[0] * args.dispatchInterface->getGroupSize()[1] * args.dispatchInterface->getGroupSize()[2]; bool isRequiredWorkGroupOrder = args.requiredDispatchWalkOrder != NEO::RequiredDispatchWalkOrder::none; diff --git a/shared/source/execution_environment/execution_environment.cpp b/shared/source/execution_environment/execution_environment.cpp index ca73e444a2..2bf9685e43 100644 --- a/shared/source/execution_environment/execution_environment.cpp +++ b/shared/source/execution_environment/execution_environment.cpp @@ -359,7 +359,6 @@ void ExecutionEnvironment::setDeviceHierarchy(const GfxCoreHelper &gfxCoreHelper void ExecutionEnvironment::adjustCcsCountImpl(RootDeviceEnvironment *rootDeviceEnvironment) const { auto hwInfo = rootDeviceEnvironment->getMutableHardwareInfo(); auto &productHelper = rootDeviceEnvironment->getHelper(); - rootDeviceEnvironment->setNonLimitedNumberOfCcs(hwInfo->gtSystemInfo.CCSInfo.NumberOfCCSEnabled); productHelper.adjustNumberOfCcs(*hwInfo); } diff --git a/shared/source/execution_environment/root_device_environment.h b/shared/source/execution_environment/root_device_environment.h index 9916428bbe..9c9f9d7006 100644 --- a/shared/source/execution_environment/root_device_environment.h +++ b/shared/source/execution_environment/root_device_environment.h @@ -88,8 +88,6 @@ struct RootDeviceEnvironment : NonCopyableClass { void initCompilerProductHelper(); void initReleaseHelper(); void initAilConfigurationHelper(); - void setNonLimitedNumberOfCcs(uint32_t numberOfCss) { this->nonLimitedNumberOfCcs = numberOfCss; }; - uint32_t getNonLimitedNumberOfCcs() const { return this->nonLimitedNumberOfCcs; }; ReleaseHelper *getReleaseHelper() const; AILConfiguration *getAILConfigurationHelper() const; template @@ -126,7 +124,6 @@ struct RootDeviceEnvironment : NonCopyableClass { protected: using GraphicsAllocationUniquePtrType = std::unique_ptr>; GraphicsAllocationUniquePtrType dummyAllocation = nullptr; - uint32_t nonLimitedNumberOfCcs = 0u; bool limitedNumberOfCcs = false; bool isWddmOnLinuxEnable = false; diff --git a/shared/source/xe2_hpg_core/command_encoder_xe2_hpg_core.cpp b/shared/source/xe2_hpg_core/command_encoder_xe2_hpg_core.cpp index 853f8cfa14..a7eb35541a 100644 --- a/shared/source/xe2_hpg_core/command_encoder_xe2_hpg_core.cpp +++ b/shared/source/xe2_hpg_core/command_encoder_xe2_hpg_core.cpp @@ -230,8 +230,8 @@ void EncodeSurfaceState::disableCompressionFlags(R_SURFACE_STATE *surfac } template <> -template -void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const InterfaceDescriptorType *idd, const EncodeWalkerArgs &walkerArgs) { +template +void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs) { auto programGlobalFenceAsPostSyncOperationInComputeWalker = walkerArgs.requiredSystemFence; int32_t overrideProgramSystemMemoryFence = debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.get(); if (overrideProgramSystemMemoryFence != -1) { @@ -245,11 +245,7 @@ void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDevice walkerCmd.setL3PrefetchDisable(!forceL3PrefetchForComputeWalker); } - bool computeDispatchAllWalkerEnable = walkerArgs.kernelExecutionType == KernelExecutionType::concurrent || (rootDeviceEnvironment.getNonLimitedNumberOfCcs() > 1 && - idd && - idd->getThreadGroupDispatchSize() == InterfaceDescriptorType::THREAD_GROUP_DISPATCH_SIZE_TG_SIZE_1 && - walkerCmd.getThreadGroupIdXDimension() * walkerCmd.getThreadGroupIdYDimension() * walkerCmd.getThreadGroupIdZDimension() * idd->getNumberOfThreadsInGpgpuThreadGroup() < walkerArgs.maxFrontEndThreads); - + bool computeDispatchAllWalkerEnable = walkerArgs.kernelExecutionType == KernelExecutionType::concurrent; int32_t overrideComputeDispatchAllWalkerEnable = debugManager.flags.ComputeDispatchAllWalkerEnableInComputeWalker.get(); if (overrideComputeDispatchAllWalkerEnable != -1) { computeDispatchAllWalkerEnable = !!overrideComputeDispatchAllWalkerEnable; diff --git a/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp b/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp index 299b3e8de6..01a38f85ec 100644 --- a/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp +++ b/shared/source/xe_hpc_core/command_encoder_xe_hpc_core.cpp @@ -161,8 +161,8 @@ void EncodeDispatchKernel::programBarrierEnable(INTERFACE_DESCRIPTOR_DAT } template <> -template -void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const InterfaceDescriptorType *idd, const EncodeWalkerArgs &walkerArgs) { +template +void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs) { const auto &productHelper = rootDeviceEnvironment.getHelper(); auto &hwInfo = *rootDeviceEnvironment.getHardwareInfo(); auto programGlobalFenceAsPostSyncOperationInComputeWalker = productHelper.isGlobalFenceInCommandStreamRequired(hwInfo) && diff --git a/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp b/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp index a9611b12fd..be7bf0ff02 100644 --- a/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp +++ b/shared/source/xe_hpg_core/command_encoder_xe_hpg_core.cpp @@ -116,8 +116,8 @@ void EncodeDispatchKernel::programBarrierEnable(INTERFACE_DESCRIPTOR_DAT } template <> -template -void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const InterfaceDescriptorType *idd, const EncodeWalkerArgs &walkerArgs) { +template +void EncodeDispatchKernel::encodeAdditionalWalkerFields(const RootDeviceEnvironment &rootDeviceEnvironment, WalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs) { auto *releaseHelper = rootDeviceEnvironment.getReleaseHelper(); bool l3PrefetchDisable = releaseHelper->isPrefetchDisablingRequired(); int32_t overrideL3PrefetchDisable = debugManager.flags.ForceL3PrefetchForComputeWalker.get(); diff --git a/shared/test/unit_test/xe2_hpg_core/CMakeLists.txt b/shared/test/unit_test/xe2_hpg_core/CMakeLists.txt index 6eba6dc5ad..577c568b23 100644 --- a/shared/test/unit_test/xe2_hpg_core/CMakeLists.txt +++ b/shared/test/unit_test/xe2_hpg_core/CMakeLists.txt @@ -13,7 +13,6 @@ if(TESTS_XE2_HPG_CORE) ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/aub_command_stream_receiver_2_tests_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/compute_mode_tests_xe2_hpg_core.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/dispatch_walker_tests_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/gfx_core_helper_tests_xe2_hpg_core.cpp ${CMAKE_CURRENT_SOURCE_DIR}/hw_cmds_xe2_hpg_core_tests.cpp ${CMAKE_CURRENT_SOURCE_DIR}/image_surface_state_tests_xe2_hpg_core.cpp diff --git a/shared/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp b/shared/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp deleted file mode 100644 index 40a57a2ee1..0000000000 --- a/shared/test/unit_test/xe2_hpg_core/dispatch_walker_tests_xe2_hpg_core.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2024 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#include "shared/source/command_container/command_encoder.h" -#include "shared/source/kernel/kernel_descriptor.h" -#include "shared/source/os_interface/product_helper.h" -#include "shared/source/xe2_hpg_core/hw_cmds.h" -#include "shared/test/common/helpers/debug_manager_state_restore.h" -#include "shared/test/common/helpers/default_hw_info.h" -#include "shared/test/common/mocks/mock_execution_environment.h" -#include "shared/test/common/test_macros/header/per_product_test_definitions.h" -#include "shared/test/common/test_macros/test.h" - -using namespace NEO; - -using WalkerDispatchTestsXe2HpGCore = ::testing::Test; - -XE2_HPG_CORETEST_F(WalkerDispatchTestsXe2HpGCore, whenEncodeAdditionalWalkerFieldsIsCalledThenComputeDispatchAllIsCorrectlySet) { - using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER; - - DebugManagerStateRestore debugRestorer; - auto walkerCmd = FamilyType::cmdInitGpgpuWalker; - MockExecutionEnvironment mockExecutionEnvironment{}; - auto &rootDeviceEnvironment = *mockExecutionEnvironment.rootDeviceEnvironments[0]; - - KernelDescriptor kernelDescriptor; - EncodeWalkerArgs walkerArgs{KernelExecutionType::concurrent, true, kernelDescriptor, NEO::RequiredDispatchWalkOrder::none, 0, 113}; - { - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); - EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable()); - } - - auto backupCcsNumber = rootDeviceEnvironment.getNonLimitedNumberOfCcs(); - rootDeviceEnvironment.setNonLimitedNumberOfCcs(2); - walkerArgs.kernelExecutionType = KernelExecutionType::defaultType; - - { - walkerCmd.getInterfaceDescriptor().setThreadGroupDispatchSize(FamilyType::INTERFACE_DESCRIPTOR_DATA::THREAD_GROUP_DISPATCH_SIZE_TG_SIZE_1); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); - EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable()); - } - - { - walkerArgs.maxFrontEndThreads = 0u; - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); - EXPECT_FALSE(walkerCmd.getComputeDispatchAllWalkerEnable()); - } - - { - walkerCmd.getInterfaceDescriptor().setThreadGroupDispatchSize(FamilyType::INTERFACE_DESCRIPTOR_DATA::THREAD_GROUP_DISPATCH_SIZE_TG_SIZE_2); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); - EXPECT_FALSE(walkerCmd.getComputeDispatchAllWalkerEnable()); - } - - { - walkerCmd.getInterfaceDescriptor().setThreadGroupDispatchSize(FamilyType::INTERFACE_DESCRIPTOR_DATA::THREAD_GROUP_DISPATCH_SIZE_TG_SIZE_1); - EncodeDispatchKernel::template encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, nullptr, walkerArgs); - EXPECT_FALSE(walkerCmd.getComputeDispatchAllWalkerEnable()); - } - - { - rootDeviceEnvironment.setNonLimitedNumberOfCcs(1); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); - EXPECT_FALSE(walkerCmd.getComputeDispatchAllWalkerEnable()); - } - - { - rootDeviceEnvironment.setNonLimitedNumberOfCcs(backupCcsNumber); - debugManager.flags.ComputeDispatchAllWalkerEnableInComputeWalker.set(1); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); - EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable()); - } -} diff --git a/shared/test/unit_test/xe_hpc_core/dispatch_walker_tests_xe_hpc_core.cpp b/shared/test/unit_test/xe_hpc_core/dispatch_walker_tests_xe_hpc_core.cpp index ed12f9424c..23f253c645 100644 --- a/shared/test/unit_test/xe_hpc_core/dispatch_walker_tests_xe_hpc_core.cpp +++ b/shared/test/unit_test/xe_hpc_core/dispatch_walker_tests_xe_hpc_core.cpp @@ -28,13 +28,13 @@ XE_HPC_CORETEST_F(WalkerDispatchTestsXeHpcCore, givenXeHpcWhenEncodeAdditionalWa KernelDescriptor kernelDescriptor; EncodeWalkerArgs walkerArgs{KernelExecutionType::defaultType, true, kernelDescriptor, NEO::RequiredDispatchWalkOrder::none, 0}; { - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); EXPECT_FALSE(walkerCmd.getComputeDispatchAllWalkerEnable()); } { debugManager.flags.ComputeDispatchAllWalkerEnableInComputeWalker.set(1); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable()); } } diff --git a/shared/test/unit_test/xe_hpc_core/pvc/dispatch_walker_tests_pvc.cpp b/shared/test/unit_test/xe_hpc_core/pvc/dispatch_walker_tests_pvc.cpp index a6167c6f5d..02d06439e2 100644 --- a/shared/test/unit_test/xe_hpc_core/pvc/dispatch_walker_tests_pvc.cpp +++ b/shared/test/unit_test/xe_hpc_core/pvc/dispatch_walker_tests_pvc.cpp @@ -53,7 +53,7 @@ PVCTEST_F(WalkerDispatchTestsPvc, givenPvcWhenEncodeAdditionalWalkerFieldsThenPo testInput.programGlobalFenceAsPostSyncOperationInComputeWalker); postSyncData.setSystemMemoryFenceRequest(false); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); EXPECT_EQ(testInput.expectSystemMemoryFenceRequest, postSyncData.getSystemMemoryFenceRequest()); } } @@ -75,7 +75,7 @@ PVCTEST_F(WalkerDispatchTestsPvc, givenPvcSupportsSystemMemoryFenceWhenNoSystemF hwInfo.platform.usDeviceID = deviceId; postSyncData.setSystemMemoryFenceRequest(true); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest()); } } diff --git a/shared/test/unit_test/xe_hpg_core/dg2/test_encode_dg2.cpp b/shared/test/unit_test/xe_hpg_core/dg2/test_encode_dg2.cpp index 96b5778e31..5559b4677e 100644 --- a/shared/test/unit_test/xe_hpg_core/dg2/test_encode_dg2.cpp +++ b/shared/test/unit_test/xe_hpg_core/dg2/test_encode_dg2.cpp @@ -86,7 +86,7 @@ DG2TEST_F(CommandEncodeDG2Test, whenProgramComputeWalkerThenApplyL3WAForDg2G10A0 hwInfo.ipVersion = compilerProductHelper.getHwIpVersion(hwInfo); rootDeviceEnvironment.releaseHelper = ReleaseHelper::create(hwInfo.ipVersion); - EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, &walkerCmd.getInterfaceDescriptor(), walkerArgs); + EncodeDispatchKernel::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs); if (DG2::isG10(hwInfo) && revisionID < revIdB0) { EXPECT_TRUE(walkerCmd.getL3PrefetchDisable());