fix: allow legacy device binary validation logic for Blender on DG2 platforms

Temporarily opt-out from additional compatibility checks
on DG2 for Blender AOT-compiled kernels.
This prevents a long kernel recompilation.

Additionally, same behavior can be enforced for other applications
manually via NEO debug key named DoNotUseProductConfigForValidationWa.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
This commit is contained in:
Kacper Nowak
2023-10-18 23:43:21 +00:00
committed by Compute-Runtime-Automation
parent 0b42510f41
commit d3d15542fb
10 changed files with 108 additions and 1 deletions

View File

@@ -7,6 +7,7 @@
#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"
@@ -48,7 +49,13 @@ bool validateTargetDevice(const TargetDevice &targetDevice, Elf::ELF_IDENTIFIER_
return false;
}
if (productConfig != AOT::UNKNOWN_ISA) {
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) {
return targetDevice.aotConfig.value == productConfig;
}