feature: add mechanism to extend cmdlist launch params

Related-To: NEO-13954

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2025-02-06 16:09:48 +00:00
committed by Compute-Runtime-Automation
parent f89725d31b
commit 1877e66bc8
12 changed files with 57 additions and 5 deletions

View File

@@ -44,6 +44,7 @@ struct RootDeviceEnvironment;
struct StateBaseAddressProperties;
struct StateComputeModeProperties;
struct ImplicitArgs;
struct EncodeKernelArgsExt;
struct EncodeDispatchKernelArgs {
uint64_t eventAddress = 0;
@@ -60,6 +61,7 @@ struct EncodeDispatchKernelArgs {
void *cpuPayloadBuffer = nullptr;
void *outImplicitArgsPtr = nullptr;
std::list<void *> *additionalCommands = nullptr;
EncodeKernelArgsExt *extendedArgs = nullptr;
PreemptionMode preemptionMode = PreemptionMode::Initial;
NEO::RequiredPartitionDim requiredPartitionDim = NEO::RequiredPartitionDim::none;
NEO::RequiredDispatchWalkOrder requiredDispatchWalkOrder = NEO::RequiredDispatchWalkOrder::none;
@@ -104,6 +106,7 @@ enum class CompareOperation : uint32_t {
};
struct EncodeWalkerArgs {
EncodeKernelArgsExt *argsExtended = nullptr;
KernelExecutionType kernelExecutionType = KernelExecutionType::defaultType;
NEO::RequiredDispatchWalkOrder requiredDispatchWalkOrder = NEO::RequiredDispatchWalkOrder::none;
uint32_t localRegionSize = NEO::localRegionSizeParamNotSet;

View File

@@ -35,6 +35,7 @@
#include "shared/source/os_interface/product_helper.h"
#include "shared/source/release_helper/release_helper.h"
#include "encode_dispatch_kernel_args_ext.h"
#include "encode_surface_state_args.h"
#include <algorithm>
@@ -405,6 +406,7 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
auto kernelExecutionType = args.isCooperative ? KernelExecutionType::concurrent : KernelExecutionType::defaultType;
EncodeWalkerArgs walkerArgs{
.argsExtended = args.extendedArgs,
.kernelExecutionType = kernelExecutionType,
.requiredDispatchWalkOrder = args.requiredDispatchWalkOrder,
.localRegionSize = args.localRegionSize,

View File

@@ -0,0 +1,16 @@
/*
* Copyright (C) 2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include <cstdint>
namespace NEO {
struct EncodeKernelArgsExt {
};
} // namespace NEO

View File

@@ -53,6 +53,7 @@ EncodeDispatchKernelArgs CommandEncodeStatesFixture::createDefaultDispatchKernel
nullptr, // cpuPayloadBuffer
nullptr, // outImplicitArgsPtr
nullptr, // additionalCommands
nullptr, // extendedArgs
PreemptionMode::Disabled, // preemptionMode
NEO::RequiredPartitionDim::none, // requiredPartitionDim
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder