mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
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:
committed by
Compute-Runtime-Automation
parent
fc37b98b69
commit
703497b067
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "shared/source/built_ins/built_ins.h"
|
||||
#include "shared/source/debug_settings/debug_settings_manager.h"
|
||||
#include "shared/source/execution_environment/execution_environment.h"
|
||||
#include "shared/source/helpers/compiler_product_helper.h"
|
||||
#include "shared/source/os_interface/os_interface.h"
|
||||
|
||||
@@ -353,9 +354,11 @@ std::unique_ptr<BuiltinFunctionsLibImpl::BuiltinData> BuiltinFunctionsLibImpl::l
|
||||
}
|
||||
|
||||
StackVec<BuiltInCodeType, 2> supportedTypes{};
|
||||
if (!NEO::debugManager.flags.RebuildPrecompiledKernels.get()) {
|
||||
bool requiresRebuild = !device->getNEODevice()->getExecutionEnvironment()->isOneApiPvcWaEnv();
|
||||
if (!requiresRebuild && !NEO::debugManager.flags.RebuildPrecompiledKernels.get()) {
|
||||
supportedTypes.push_back(BuiltInCodeType::binary);
|
||||
}
|
||||
|
||||
supportedTypes.push_back(BuiltInCodeType::intermediate);
|
||||
|
||||
NEO::BuiltinCode builtinCode{};
|
||||
|
||||
@@ -53,6 +53,8 @@ void DriverImp::initialize(ze_result_t *result) {
|
||||
envVariables.fp64Emulation =
|
||||
envReader.getSetting("NEO_FP64_EMULATION", false);
|
||||
|
||||
bool oneApiPvcWa = envReader.getSetting("ONEAPI_PVC_SEND_WAR_WA", true);
|
||||
|
||||
auto executionEnvironment = new NEO::ExecutionEnvironment();
|
||||
UNRECOVERABLE_IF(nullptr == executionEnvironment);
|
||||
|
||||
@@ -69,6 +71,7 @@ void DriverImp::initialize(ze_result_t *result) {
|
||||
}
|
||||
|
||||
executionEnvironment->setMetricsEnabled(envVariables.metrics);
|
||||
executionEnvironment->setOneApiPvcWaEnv(oneApiPvcWa);
|
||||
|
||||
executionEnvironment->incRefInternal();
|
||||
auto neoDevices = NEO::DeviceFactory::createDevices(*executionEnvironment);
|
||||
|
||||
@@ -327,6 +327,8 @@ ze_result_t ModuleTranslationUnit::createFromNativeBinary(const char *input, siz
|
||||
|
||||
bool rebuild = NEO::debugManager.flags.RebuildPrecompiledKernels.get() && irBinarySize != 0;
|
||||
rebuild |= NEO::isRebuiltToPatchtokensRequired(device->getNEODevice(), archive, this->options, this->isBuiltIn, false);
|
||||
rebuild |= !device->getNEODevice()->getExecutionEnvironment()->isOneApiPvcWaEnv();
|
||||
|
||||
if (rebuild && irBinarySize == 0) {
|
||||
driverHandle->clearErrorDescription();
|
||||
return ZE_RESULT_ERROR_INVALID_NATIVE_BINARY;
|
||||
@@ -927,6 +929,9 @@ void ModuleImp::createBuildOptions(const char *pBuildFlags, std::string &apiOpti
|
||||
this->isFunctionSymbolExportEnabled = moveBuildOption(apiOptions, apiOptions, BuildOptions::enableLibraryCompile, BuildOptions::enableLibraryCompile);
|
||||
this->isGlobalSymbolExportEnabled = moveBuildOption(apiOptions, apiOptions, BuildOptions::enableGlobalVariableSymbols, BuildOptions::enableGlobalVariableSymbols);
|
||||
|
||||
if (getDevice()->getNEODevice()->getExecutionEnvironment()->isOneApiPvcWaEnv() == false) {
|
||||
NEO::CompilerOptions::concatenateAppend(internalBuildOptions, NEO::CompilerOptions::optDisableSendWarWa);
|
||||
}
|
||||
createBuildExtraOptions(apiOptions, internalBuildOptions);
|
||||
}
|
||||
if (NEO::ApiSpecificConfig::getBindlessMode(*device->getNEODevice())) {
|
||||
|
||||
Reference in New Issue
Block a user