diff --git a/shared/offline_compiler/source/CMakeLists.txt b/shared/offline_compiler/source/CMakeLists.txt index 873450a7c7..c29c29a2c2 100644 --- a/shared/offline_compiler/source/CMakeLists.txt +++ b/shared/offline_compiler/source/CMakeLists.txt @@ -10,10 +10,6 @@ set(OCLOC_NAME "ocloc") set(OCLOC_FOLDER_NAME "offline_compiler") set(CLOC_LIB_SRCS_LIB - ${NEO_SHARED_DIRECTORY}/ail/ail_configuration.h - ${NEO_SHARED_DIRECTORY}/ail/ail_configuration.cpp - ${NEO_SHARED_DIRECTORY}/ail${BRANCH_DIR_SUFFIX}ail_configuration_extra.cpp - ${NEO_SHARED_DIRECTORY}/ail//ail_configuration_base.inl ${NEO_SHARED_DIRECTORY}/compiler_interface/compiler_options.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/compiler_options.h ${NEO_SHARED_DIRECTORY}/compiler_interface/compiler_cache.cpp @@ -138,7 +134,6 @@ endif() if(WIN32) list(APPEND CLOC_LIB_SRCS_LIB - ${NEO_SHARED_DIRECTORY}/ail/windows/ail_configuration_windows.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/windows/compiler_cache_windows.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/windows/os_compiler_cache_helper.cpp ${NEO_SHARED_DIRECTORY}/dll/windows/options_windows.cpp @@ -150,7 +145,6 @@ if(WIN32) ) else() list(APPEND CLOC_LIB_SRCS_LIB - ${NEO_SHARED_DIRECTORY}/ail/linux/ail_configuration_linux.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/linux/compiler_cache_linux.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/linux/os_compiler_cache_helper.cpp ${NEO_SHARED_DIRECTORY}/dll/linux/options_linux.cpp @@ -183,7 +177,6 @@ macro(macro_for_each_platform) ${NEO_SOURCE_DIR}/shared/source${BRANCH}${CORE_TYPE_LOWER}${BRANCH_DIR}hw_info_${PLATFORM_IT_LOWER}.cpp ${NEO_SOURCE_DIR}/shared/source${BRANCH}${CORE_TYPE_LOWER}${BRANCH_DIR}compiler_product_helper_${PLATFORM_IT_LOWER}.inl ${NEO_SOURCE_DIR}/shared/source${BRANCH}${CORE_TYPE_LOWER}${BRANCH_DIR}enable_compiler_product_helper_${PLATFORM_IT_LOWER}.cpp - ${NEO_SOURCE_DIR}/shared/source/ail${BRANCH_DIR}${CORE_TYPE_LOWER}${BRANCH}${PLATFORM_IT_LOWER}/ail_configuration_${PLATFORM_IT_LOWER}.cpp ) if(EXISTS ${SRC_FILE}) list(APPEND CLOC_LIB_SRCS_LIB ${SRC_FILE}) diff --git a/shared/source/ail/ail_configuration.h b/shared/source/ail/ail_configuration.h index acde40f38d..9fa8143dba 100644 --- a/shared/source/ail/ail_configuration.h +++ b/shared/source/ail/ail_configuration.h @@ -59,8 +59,6 @@ class AILConfiguration { virtual bool isContextSyncFlagRequired() = 0; - virtual bool useLegacyValidationLogic() = 0; - protected: virtual void applyExt(RuntimeCapabilityTable &runtimeCapabilityTable) = 0; std::string processName; @@ -86,7 +84,6 @@ class AILConfigurationHw : public AILConfiguration { void modifyKernelIfRequired(std::string &kernel) override; bool isFallbackToPatchtokensRequired(const std::string &kernelSources) override; bool isContextSyncFlagRequired() override; - bool useLegacyValidationLogic() override; }; template diff --git a/shared/source/ail/ail_configuration_base.inl b/shared/source/ail/ail_configuration_base.inl index 1a06da47ca..6033b5dd98 100644 --- a/shared/source/ail/ail_configuration_base.inl +++ b/shared/source/ail/ail_configuration_base.inl @@ -45,9 +45,4 @@ inline bool AILConfigurationHw::isContextSyncFlagRequired() { return false; } -template -inline bool AILConfigurationHw::useLegacyValidationLogic() { - return false; -} - } // namespace NEO diff --git a/shared/source/ail/xe_hpg_core/dg2/ail_configuration_dg2.cpp b/shared/source/ail/xe_hpg_core/dg2/ail_configuration_dg2.cpp index 64e98ccfe0..e6f135b192 100644 --- a/shared/source/ail/xe_hpg_core/dg2/ail_configuration_dg2.cpp +++ b/shared/source/ail/xe_hpg_core/dg2/ail_configuration_dg2.cpp @@ -30,9 +30,6 @@ const std::vector applicationsKernelFixesDG2 = {{"FAHBench-gui", "findBlocksWithInteractions", 0xa39732fc26656899, 12651u, "else { SYNC_WARPS; }"}, {"FAHBench-cmd", "findBlocksWithInteractions", 0xa39732fc26656899, 12651u, "else { SYNC_WARPS; }"}}; -constexpr std::array applicationsLegacyValidationPathDG2 = { - "blender"}; - template <> void AILConfigurationHw::modifyKernelIfRequired(std::string &kernelsSources) { @@ -48,14 +45,6 @@ void AILConfigurationHw::modifyKernelIfRequired(std::string &kernelsSo } } -template <> -bool AILConfigurationHw::useLegacyValidationLogic() { - auto it = std::find_if(applicationsLegacyValidationPathDG2.begin(), applicationsLegacyValidationPathDG2.end(), [this](const auto &appName) { - return this->processName == appName; - }); - return it != applicationsLegacyValidationPathDG2.end() ? true : false; -} - template class AILConfigurationHw; } // namespace NEO diff --git a/shared/source/debug_settings/debug_variables_base.inl b/shared/source/debug_settings/debug_variables_base.inl index 82ae8e2d54..54615db599 100644 --- a/shared/source/debug_settings/debug_variables_base.inl +++ b/shared/source/debug_settings/debug_variables_base.inl @@ -576,4 +576,3 @@ DECLARE_DEBUG_VARIABLE(bool, BinaryCacheTrace, false, "enable cl_cache to produc /* WORKAROUND FLAGS */ DECLARE_DEBUG_VARIABLE(int32_t, ForceDummyBlitWa, -1, "-1: default, 0: disabled, 1: enabled, Forces a workaround with dummy blits, driver adds an extra blit before command MI_ARB_CHECK on bcs") DECLARE_DEBUG_VARIABLE(bool, VfBarResourceAllocationWa, true, "Enables/disables WA for resizing VF BAR to 2GB on Warm Reset.") -DECLARE_DEBUG_VARIABLE(bool, DoNotUseProductConfigForValidationWa, false, "Forces a workaround with legacy device binary validation usage (skip checking PRODUCT_CONFIG even if passed"); diff --git a/shared/source/device_binary_format/zebin/zebin_decoder.cpp b/shared/source/device_binary_format/zebin/zebin_decoder.cpp index ac3b48c2b1..b347035f91 100644 --- a/shared/source/device_binary_format/zebin/zebin_decoder.cpp +++ b/shared/source/device_binary_format/zebin/zebin_decoder.cpp @@ -7,7 +7,6 @@ #include "shared/source/device_binary_format/zebin/zebin_decoder.h" -#include "shared/source/ail/ail_configuration.h" #include "shared/source/compiler_interface/intermediate_representations.h" #include "shared/source/debug_settings/debug_settings_manager.h" #include "shared/source/device_binary_format/device_binary_formats.h" @@ -49,13 +48,7 @@ bool validateTargetDevice(const TargetDevice &targetDevice, Elf::ELF_IDENTIFIER_ return false; } - bool useLegacyValidationPath = false; - auto ailConfiguration = AILConfiguration::get(targetDevice.productFamily); - if (ailConfiguration) { - useLegacyValidationPath = ailConfiguration->useLegacyValidationLogic(); - } - - if (false == NEO::DebugManager.flags.DoNotUseProductConfigForValidationWa.get() && false == useLegacyValidationPath && productConfig != AOT::UNKNOWN_ISA) { + if (productConfig != AOT::UNKNOWN_ISA) { return targetDevice.aotConfig.value == productConfig; } diff --git a/shared/test/common/mocks/mock_ail_configuration.h b/shared/test/common/mocks/mock_ail_configuration.h index eca153f12d..dd85413d2b 100644 --- a/shared/test/common/mocks/mock_ail_configuration.h +++ b/shared/test/common/mocks/mock_ail_configuration.h @@ -28,11 +28,6 @@ class MockAILConfiguration : public AILConfiguration { return contextSyncFlagReturn; } - bool fallbackToLegacyValidationLogic = false; - bool useLegacyValidationLogic() override { - return fallbackToLegacyValidationLogic; - } - protected: void applyExt(RuntimeCapabilityTable &runtimeCapabilityTable) override {} }; diff --git a/shared/test/common/test_files/igdrcl.config b/shared/test/common/test_files/igdrcl.config index e1f2681f6f..86c9bca0b9 100644 --- a/shared/test/common/test_files/igdrcl.config +++ b/shared/test/common/test_files/igdrcl.config @@ -556,5 +556,4 @@ OverridePatIndexForDeviceMemory = -1 PrintGmmCompressionParams = 0 SkipInOrderNonWalkerSignalingAllowed = 0 PrintKernelDispatchParameters = 0 -DoNotUseProductConfigForValidationWa = 0 # Please don't edit below this line diff --git a/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp b/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp index 678f0b14e4..a5462663c2 100644 --- a/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp +++ b/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp @@ -5,7 +5,6 @@ * */ -#include "shared/source/ail/ail_configuration.h" #include "shared/source/compiler_interface/external_functions.h" #include "shared/source/compiler_interface/linker.h" #include "shared/source/device_binary_format/device_binary_formats.h" @@ -20,8 +19,6 @@ #include "shared/source/program/kernel_info.h" #include "shared/source/program/program_info.h" #include "shared/test/common/helpers/debug_manager_state_restore.h" -#include "shared/test/common/helpers/variable_backup.h" -#include "shared/test/common/mocks/mock_ail_configuration.h" #include "shared/test/common/mocks/mock_elf.h" #include "shared/test/common/mocks/mock_execution_environment.h" #include "shared/test/common/mocks/mock_modules_zebin.h" @@ -5987,50 +5984,6 @@ TEST(ValidateTargetDeviceTests, givenSteppingBiggerThanMaxHwRevisionWhenValidati EXPECT_FALSE(res); } -TEST(ValidateTargetDeviceTests, givenAILEnabledAndUseLegacyValidationLogicReturningTrueWhenValidatingTargetDeviceThenDoNotUseProductConfigForValidationWa) { - VariableBackup ailConfiguration(&ailConfigurationTable[productFamily]); - - MockAILConfiguration mockAilConfig; - mockAilConfig.fallbackToLegacyValidationLogic = true; - ASSERT_TRUE(mockAilConfig.useLegacyValidationLogic()); - ailConfigurationTable[productFamily] = &mockAilConfig; - - NEO::HardwareIpVersion aotConfig = {0}; - aotConfig.value = 0x00001234; - - TargetDevice targetDevice; - targetDevice.maxPointerSizeInBytes = 8u; - targetDevice.productFamily = productFamily; - targetDevice.coreFamily = renderCoreFamily; - targetDevice.aotConfig.value = aotConfig.value + 0x10; // assert mismatch on aotConfig values, rest of values should result in validation success - - Zebin::Elf::ZebinTargetFlags targetMetadata; - targetMetadata.validateRevisionId = false; // in this test case, AOT config should be skipped and productFamily and coreFamily used only - - auto res = validateTargetDevice(targetDevice, Zebin::Elf::EI_CLASS_64, productFamily, renderCoreFamily, static_cast(aotConfig.value), targetMetadata); - EXPECT_TRUE(res); -} - -TEST(ValidateTargetDeviceTests, givenDoNotUseProductConfigForValidationWaFlagSetWhenValidatingTargetDeviceThenDoNotUseProductConfigForValidation) { - DebugManagerStateRestore dbgRestorer; - DebugManager.flags.DoNotUseProductConfigForValidationWa.set(true); - - NEO::HardwareIpVersion aotConfig = {0}; - aotConfig.value = 0x00001234; - - TargetDevice targetDevice; - targetDevice.maxPointerSizeInBytes = 8u; - targetDevice.productFamily = productFamily; - targetDevice.coreFamily = renderCoreFamily; - targetDevice.aotConfig.value = aotConfig.value + 0x10; // assert mismatch on aotConfig values, rest of values should result in validation success - - Zebin::Elf::ZebinTargetFlags targetMetadata; - targetMetadata.validateRevisionId = false; // in this test case, AOT config should be skipped and productFamily and coreFamily used only - - auto res = validateTargetDevice(targetDevice, Zebin::Elf::EI_CLASS_64, productFamily, renderCoreFamily, static_cast(aotConfig.value), targetMetadata); - EXPECT_TRUE(res); -} - TEST(PopulateGlobalDeviceHostNameMapping, givenValidZebinWithGlobalHostAccessTableSectionThenPopulateHostDeviceNameMapCorrectly) { NEO::MockExecutionEnvironment mockExecutionEnvironment{}; auto &gfxCoreHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper(); diff --git a/shared/test/unit_test/xe_hpg_core/dg2/ail_tests_dg2.cpp b/shared/test/unit_test/xe_hpg_core/dg2/ail_tests_dg2.cpp index 8dd493cb29..1fd7c5f66c 100644 --- a/shared/test/unit_test/xe_hpg_core/dg2/ail_tests_dg2.cpp +++ b/shared/test/unit_test/xe_hpg_core/dg2/ail_tests_dg2.cpp @@ -8,7 +8,6 @@ #include "shared/source/ail/ail_configuration.h" #include "shared/test/common/helpers/default_hw_info.h" #include "shared/test/common/helpers/variable_backup.h" -#include "shared/test/common/mocks/mock_ail_configuration.h" #include "shared/test/common/test_macros/hw_test.h" namespace NEO { @@ -109,23 +108,4 @@ HWTEST2_F(AILTestsDg2, givenFixesForApplicationsWhenModifyKernelIfRequiredIsCall EXPECT_STREQ(copyKernelSources.c_str(), kernelSources.c_str()); } } - -HWTEST2_F(AILTestsDg2, givenApplicationNameRequiringCrossTargetCompabilityWhenCallingUseValidationLogicThenReturnProperValue, IsDG2) { - VariableBackup ailConfigurationBackup(&ailConfigurationTable[productFamily]); - AILMock ail; - ailConfigurationTable[productFamily] = &ail; - - auto ailConfiguration = AILConfiguration::get(defaultHwInfo->platform.eProductFamily); - ASSERT_NE(nullptr, ailConfiguration); - - ail.processName = "unknown"; - EXPECT_FALSE(ail.useLegacyValidationLogic()); - - std::array applicationNamesRequiringLegacyValidation = { - "blender"}; - for (auto appName : applicationNamesRequiringLegacyValidation) { - ail.processName = appName; - EXPECT_TRUE(ail.useLegacyValidationLogic()); - } -} } // namespace NEO