fix: read ONEAPI_PVC_SEND_WAR_WA env

- disable optimization with compiler internal option when env is set to
zero

Related-To: NEO-15378, GSD-10884

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2025-07-08 15:55:32 +00:00
committed by Compute-Runtime-Automation
parent fc37b98b69
commit 703497b067
18 changed files with 270 additions and 3 deletions

View File

@@ -8,6 +8,7 @@
#include "shared/source/built_ins/built_ins.h"
#include "shared/source/debug_settings/debug_settings_manager.h"
#include "shared/source/device/device.h"
#include "shared/source/execution_environment/execution_environment.h"
#include "shared/source/execution_environment/root_device_environment.h"
#include "shared/source/helpers/api_specific_config.h"
#include "shared/source/helpers/gfx_core_helper.h"
@@ -190,7 +191,8 @@ BuiltinCode BuiltinsLib::getBuiltinCode(EBuiltInOps::Type builtin, BuiltinCode::
if (requestedCodeType == BuiltinCode::ECodeType::any) {
uint32_t codeType = static_cast<uint32_t>(BuiltinCode::ECodeType::binary);
if (debugManager.flags.RebuildPrecompiledKernels.get()) {
bool requiresRebuild = !device.getExecutionEnvironment()->isOneApiPvcWaEnv();
if (requiresRebuild || debugManager.flags.RebuildPrecompiledKernels.get()) {
codeType = static_cast<uint32_t>(BuiltinCode::ECodeType::source);
}
for (uint32_t e = static_cast<uint32_t>(BuiltinCode::ECodeType::count);

View File

@@ -45,6 +45,7 @@ inline constexpr ConstStringRef numThreadsPerEu = "-cl-intel-reqd-eu-thread-coun
inline constexpr ConstStringRef useCMCompiler = "-cmc";
inline constexpr ConstStringRef enableFP64GenEmu = "-cl-fp64-gen-emu";
inline constexpr ConstStringRef enableDivergentBarriers = "-cl-intel-enable-divergent-barrier-handling";
inline constexpr ConstStringRef optDisableSendWarWa = "-ze-opt-disable-sendwarwa";
inline constexpr size_t nullterminateSize = 1U;
inline constexpr size_t spaceSeparatorSize = 1U;

View File

@@ -65,6 +65,11 @@ class ExecutionEnvironment : public ReferenceTrackedObject<ExecutionEnvironment>
}
bool isFP64EmulationEnabled() const { return fp64EmulationEnabled; }
void setOneApiPvcWaEnv(bool val) {
oneApiPvcWaEnv = val;
}
bool isOneApiPvcWaEnv() const { return oneApiPvcWaEnv; }
DirectSubmissionController *initializeDirectSubmissionController();
void initializeUnifiedMemoryReuseCleaner(bool isAnyDirectSubmissionLightEnabled);
@@ -89,6 +94,7 @@ class ExecutionEnvironment : public ReferenceTrackedObject<ExecutionEnvironment>
void restoreCcsMode();
bool metricsEnabled = false;
bool fp64EmulationEnabled = false;
bool oneApiPvcWaEnv = true;
DeviceHierarchyMode deviceHierarchyMode = DeviceHierarchyMode::composite;
DebuggingMode debuggingEnabledMode = DebuggingMode::disabled;