mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +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
@@ -81,7 +81,6 @@ set(CLOC_LIB_SRCS_LIB
|
||||
${NEO_SHARED_DIRECTORY}/os_interface/os_library.h
|
||||
${NEO_SHARED_DIRECTORY}/sku_info/definitions${BRANCH_DIR_SUFFIX}sku_info.cpp
|
||||
${NEO_SHARED_DIRECTORY}/utilities/directory.h
|
||||
${NEO_SHARED_DIRECTORY}/utilities/io_functions.cpp
|
||||
${NEO_SHARED_DIRECTORY}/utilities/io_functions.h
|
||||
${NEO_SHARED_DIRECTORY}/utilities/logger.cpp
|
||||
${NEO_SHARED_DIRECTORY}/utilities/logger.h
|
||||
@@ -350,6 +349,7 @@ set(CLOC_LIB_SRCS
|
||||
)
|
||||
add_library(${OCLOC_NAME}_lib SHARED ${CLOC_LIB_SRCS}
|
||||
${NEO_SOURCE_DIR}/shared/source/utilities/debug_settings_reader_creator.cpp
|
||||
${NEO_SHARED_DIRECTORY}/utilities/io_functions.cpp
|
||||
)
|
||||
add_subdirectories()
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "shared/source/helpers/debug_helpers.h"
|
||||
#include "shared/source/helpers/string.h"
|
||||
#include "shared/source/helpers/validators.h"
|
||||
#include "shared/source/os_interface/debug_env_reader.h"
|
||||
#include "shared/source/release_helper/release_helper.h"
|
||||
#include "shared/source/utilities/io_functions.h"
|
||||
|
||||
@@ -965,6 +966,11 @@ int OfflineCompiler::initialize(size_t numArgs, const std::vector<std::string> &
|
||||
appendExtensionsToInternalOptions(hwInfo, options, internalOptions);
|
||||
appendExtraInternalOptions(internalOptions);
|
||||
}
|
||||
NEO::EnvironmentVariableReader envReader;
|
||||
|
||||
if (envReader.getSetting("ONEAPI_PVC_SEND_WAR_WA", true) == false) {
|
||||
CompilerOptions::concatenateAppend(internalOptions, NEO::CompilerOptions::optDisableSendWarWa);
|
||||
}
|
||||
parseDebugSettings();
|
||||
|
||||
if (allowCaching) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user