Check IndirectStatelessCount from igc

If kernel has no stateless indirect accesses don't set the
kernelHasIndirectAccess flag.
Don't make resident or migrate if kernel has no indirect accesses.
Changed initial values in KernelAttributes.

Related-To: NEO-6597

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
Dominik Dabek
2022-01-25 11:45:33 +00:00
committed by Compute-Runtime-Automation
parent 8a0a556d16
commit 63f406a58c
12 changed files with 78 additions and 21 deletions

View File

@@ -317,6 +317,9 @@ DecodeError readZeInfoExperimentalProperties(const NEO::Yaml::YamlParser &parser
ConstStringRef context,
std::string &outErrReason, std::string &outWarning) {
bool validExperimentalProperty = true;
outExperimentalProperties.hasNonKernelArgLoad = true;
outExperimentalProperties.hasNonKernelArgStore = true;
outExperimentalProperties.hasNonKernelArgAtomic = true;
for (const auto &experimentalPropertyNd : parser.createChildrenRange(node)) {
for (const auto &experimentalPropertyMemberNd : parser.createChildrenRange(experimentalPropertyNd)) {
auto key = parser.readKey(experimentalPropertyMemberNd);

View File

@@ -156,9 +156,9 @@ struct KernelDescriptor {
uint16_t numArgsToPatch = 0U;
uint16_t numGrfRequired = 0U;
uint8_t barrierCount = 0u;
bool hasNonKernelArgLoad = true;
bool hasNonKernelArgStore = true;
bool hasNonKernelArgAtomic = true;
bool hasNonKernelArgLoad = false;
bool hasNonKernelArgStore = false;
bool hasNonKernelArgAtomic = false;
AddressingMode bufferAddressingMode = BindfulAndStateless;
AddressingMode imageAddressingMode = Bindful;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2020 Intel Corporation
* Copyright (C) 2019-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -21,4 +21,8 @@ struct UnifiedMemoryControls {
bool indirectDeviceAllocationsAllowed = false;
bool indirectHostAllocationsAllowed = false;
bool indirectSharedAllocationsAllowed = false;
bool anyIndirectAllocationsAllowed() const {
return indirectDeviceAllocationsAllowed || indirectHostAllocationsAllowed || indirectSharedAllocationsAllowed;
}
};