refactor: change data fields for encoder of additional walker fields

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2025-01-21 10:48:43 +00:00
committed by Compute-Runtime-Automation
parent 912bd8591a
commit 1e89058232
9 changed files with 43 additions and 46 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2024 Intel Corporation
* Copyright (C) 2019-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -84,12 +84,12 @@ inline void HardwareInterface<GfxFamily>::programWalker(
commandQueue.getDevice());
EncodeWalkerArgs encodeWalkerArgs{
kernel.getKernelInfo().kernelDescriptor, // kernelDescriptor
kernel.getExecutionType(), // kernelExecutionType
RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
0, // maxFrontEndThreads
false}; // requiredSystemFence
kernel.getExecutionType(), // kernelExecutionType
RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
0, // maxFrontEndThreads
false, // requiredSystemFence
false}; // hasSample
EncodeDispatchKernel<GfxFamily>::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, encodeWalkerArgs);
*walkerCmdBuf = walkerCmd;
}

View File

@@ -146,12 +146,12 @@ inline void HardwareInterface<GfxFamily>::programWalker(
auto maxFrontEndThreads = device.getDeviceInfo().maxFrontEndThreads;
EncodeWalkerArgs encodeWalkerArgs{
kernelInfo.kernelDescriptor, // kernelDescriptor
kernel.getExecutionType(), // kernelExecutionType
kernelAttributes.dispatchWalkOrder, // requiredDispatchWalkOrder
kernelAttributes.localRegionSize, // localRegionSize
maxFrontEndThreads, // maxFrontEndThreads
requiredSystemFence}; // requiredSystemFence
kernel.getExecutionType(), // kernelExecutionType
kernelAttributes.dispatchWalkOrder, // requiredDispatchWalkOrder
kernelAttributes.localRegionSize, // localRegionSize
maxFrontEndThreads, // maxFrontEndThreads
requiredSystemFence, // requiredSystemFence
kernelInfo.kernelDescriptor.kernelAttributes.flags.hasSample}; // hasSample
EncodeDispatchKernel<GfxFamily>::template encodeAdditionalWalkerFields<WalkerType>(rootDeviceEnvironment, walkerCmd, encodeWalkerArgs);
EncodeDispatchKernel<GfxFamily>::template encodeWalkerPostSyncFields<WalkerType>(walkerCmd, encodeWalkerArgs);

View File

@@ -25,14 +25,13 @@ XE2_HPG_CORETEST_F(WalkerDispatchTestsXe2HpGCore, whenEncodeAdditionalWalkerFiel
MockExecutionEnvironment executionEnvironment;
auto walkerCmd = FamilyType::cmdInitGpgpuWalker;
KernelDescriptor kernelDescriptor;
EncodeWalkerArgs walkerArgs{
kernelDescriptor, // kernelDescriptor
KernelExecutionType::concurrent, // kernelExecutionType
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
113, // maxFrontEndThreads
true}; // requiredSystemFence
true, // requiresMemoryFence
false}; // hasSample
{
EncodeDispatchKernel<FamilyType>::encodeComputeDispatchAllWalker(walkerCmd, &walkerCmd.getInterfaceDescriptor(), *executionEnvironment.rootDeviceEnvironments[0], walkerArgs);
EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable());

View File

@@ -26,14 +26,13 @@ XE3_CORETEST_F(WalkerDispatchTestsXe3Core, whenEncodeAdditionalWalkerFieldsIsCal
MockExecutionEnvironment executionEnvironment;
auto walkerCmd = FamilyType::cmdInitGpgpuWalker;
KernelDescriptor kernelDescriptor;
EncodeWalkerArgs walkerArgs{
kernelDescriptor, // kernelDescriptor
KernelExecutionType::concurrent, // kernelExecutionType
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
113, // maxFrontEndThreads
true}; // requiredSystemFence
true, // requiredSystemFence
false}; // hasSample
{
EncodeDispatchKernel<FamilyType>::encodeComputeDispatchAllWalker(walkerCmd, &walkerCmd.getInterfaceDescriptor(), *executionEnvironment.rootDeviceEnvironments[0], walkerArgs);
EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable());
@@ -102,24 +101,23 @@ XE3_CORETEST_F(WalkerDispatchTestsXe3Core, givenHasSampleSetWhenEncodingExtraPar
MockExecutionEnvironment mockExecutionEnvironment{};
auto &rootDeviceEnvironment = *mockExecutionEnvironment.rootDeviceEnvironments[0];
KernelDescriptor kernelDescriptor;
EncodeWalkerArgs walkerArgs{
kernelDescriptor, // kernelDescriptor
KernelExecutionType::defaultType, // kernelExecutionType
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
0, // maxFrontEndThreads
false}; // requiredSystemFence
false, // requiredSystemFence
false}; // hasSample
{
kernelDescriptor.kernelAttributes.flags.hasSample = false;
walkerArgs.hasSample = false;
EncodeDispatchKernel<FamilyType>::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs);
EXPECT_NE(DISPATCH_WALK_ORDER::DISPATCH_WALK_ORDER_MORTON_WALK, walkerCmd.getDispatchWalkOrder());
EXPECT_EQ(THREAD_GROUP_BATCH_SIZE::THREAD_GROUP_BATCH_SIZE_TG_BATCH_1, walkerCmd.getThreadGroupBatchSize());
}
{
kernelDescriptor.kernelAttributes.flags.hasSample = true;
walkerArgs.hasSample = true;
EncodeDispatchKernel<FamilyType>::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs);
EXPECT_EQ(DISPATCH_WALK_ORDER::DISPATCH_WALK_ORDER_MORTON_WALK, walkerCmd.getDispatchWalkOrder());
EXPECT_EQ(THREAD_GROUP_BATCH_SIZE::THREAD_GROUP_BATCH_SIZE_TG_BATCH_4, walkerCmd.getThreadGroupBatchSize());