feature: Add hasLscStoresWithNonDefaultL1CacheControls flag

Related-to: NEO-14563

Signed-off-by: Chen, Kai <kai.chen@intel.com>
This commit is contained in:
Chen, Kai
2025-05-24 01:09:01 +00:00
committed by Compute-Runtime-Automation
parent e43ec2bbfd
commit 1484e43bb7
4 changed files with 9 additions and 1 deletions

View File

@@ -63,6 +63,7 @@ inline constexpr ConstStringRef threadSchedulingMode("thread_scheduling_mode");
inline constexpr ConstStringRef hasSample("has_sample");
inline constexpr ConstStringRef actualKernelStartOffset("actual_kernel_start_offset");
inline constexpr ConstStringRef requireImplicitArgBuffer("require_iab");
inline constexpr ConstStringRef hasLscStoresWithNonDefaultL1CacheControls("has_lsc_stores_with_non_default_l1_cache_controls");
namespace ThreadSchedulingMode {
inline constexpr ConstStringRef ageBased("age_based");
@@ -360,6 +361,7 @@ using LocalRegionSizeT = int32_t;
using WalkOrderT = int32_t;
using PartitionDimT = int32_t;
using RequireImplicitArgBufferT = bool;
using HasLscStoresWithNonDefaultL1CacheControlsT = bool;
namespace Defaults {
inline constexpr BarrierCountT barrierCount = 0;
@@ -395,6 +397,7 @@ inline constexpr LocalRegionSizeT localRegionSize = -1;
inline constexpr WalkOrderT dispatchWalkOrder = -1;
inline constexpr PartitionDimT partitionDim = -1;
inline constexpr RequireImplicitArgBufferT requireImplicitArgBuffer = false;
inline constexpr HasLscStoresWithNonDefaultL1CacheControlsT hasLscStoresWithNonDefaultL1CacheControls = false;
} // namespace Defaults
inline constexpr ConstStringRef required[] = {
@@ -446,6 +449,7 @@ struct ExecutionEnvBaseT final : NEO::NonCopyableAndNonMovableClass {
WalkOrderT dispatchWalkOrder = Defaults::dispatchWalkOrder;
PartitionDimT partitionDim = Defaults::partitionDim;
RequireImplicitArgBufferT requireImplicitArgBuffer = Defaults::requireImplicitArgBuffer;
HasLscStoresWithNonDefaultL1CacheControlsT hasLscStoresWithNonDefaultL1CacheControls = Defaults::hasLscStoresWithNonDefaultL1CacheControls;
};
static_assert(NEO::NonCopyableAndNonMovable<ExecutionEnvBaseT>);

View File

@@ -690,6 +690,8 @@ DecodeError readZeInfoExecutionEnvironment(const Yaml::YamlParser &parser, const
validExecEnv &= readZeInfoValueChecked(parser, execEnvMetadataNd, outExecEnv.requireImplicitArgBuffer, context, outErrReason);
} else if (Tags::Kernel::ExecutionEnv::actualKernelStartOffset == key) {
// ignore intentionally - deprecated and redundant key
} else if (Tags::Kernel::ExecutionEnv::hasLscStoresWithNonDefaultL1CacheControls == key) {
validExecEnv &= readZeInfoValueChecked(parser, execEnvMetadataNd, outExecEnv.hasLscStoresWithNonDefaultL1CacheControls, context, outErrReason);
} else {
readZeInfoValueCheckedExtra(parser, execEnvMetadataNd, outExecEnv, context, key, outErrReason, outWarning, validExecEnv, err);
}

View File

@@ -19,7 +19,7 @@ struct KernelInfo;
struct ProgramInfo;
namespace Zebin::ZeInfo {
inline constexpr NEO::Zebin::ZeInfo::Types::Version zeInfoDecoderVersion{1, 51};
inline constexpr NEO::Zebin::ZeInfo::Types::Version zeInfoDecoderVersion{1, 53};
using KernelExecutionEnvBaseT = Types::Kernel::ExecutionEnv::ExecutionEnvBaseT;