mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +08:00
fix: allow legacy device binary validation logic for Blender on DG2 and MTL
Temporarily opt-out from additional compatibility checks on DG2 and MTL for Blender and its derivatives 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:
committed by
Compute-Runtime-Automation
parent
ee6e6cfbab
commit
1b932bf119
@@ -30,6 +30,9 @@ const std::vector<ApplicationKernelFixDg2> applicationsKernelFixesDG2 =
|
||||
{{"FAHBench-gui", "findBlocksWithInteractions", 0xa39732fc26656899, 12651u, "else { SYNC_WARPS; }"},
|
||||
{"FAHBench-cmd", "findBlocksWithInteractions", 0xa39732fc26656899, 12651u, "else { SYNC_WARPS; }"}};
|
||||
|
||||
constexpr std::array<std::string_view, 3> applicationsLegacyValidationPathDg2 = {
|
||||
"blender", "bforartists", "cycles"};
|
||||
|
||||
template <>
|
||||
void AILConfigurationHw<IGFX_DG2>::modifyKernelIfRequired(std::string &kernelsSources) {
|
||||
|
||||
@@ -45,6 +48,14 @@ void AILConfigurationHw<IGFX_DG2>::modifyKernelIfRequired(std::string &kernelsSo
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
bool AILConfigurationHw<IGFX_DG2>::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<IGFX_DG2>;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "aubstream/engine_node.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
@@ -19,6 +20,9 @@ extern std::map<std::string_view, std::vector<AILEnumeration>> applicationMapMTL
|
||||
|
||||
static EnableAIL<IGFX_METEORLAKE> enableAILMTL;
|
||||
|
||||
constexpr std::array<std::string_view, 3> applicationsLegacyValidationPathMtl = {
|
||||
"blender", "bforartists", "cycles"};
|
||||
|
||||
template <>
|
||||
void AILConfigurationHw<IGFX_METEORLAKE>::applyExt(RuntimeCapabilityTable &runtimeCapabilityTable) {
|
||||
auto search = applicationMapMTL.find(processName);
|
||||
@@ -40,6 +44,14 @@ bool AILConfigurationHw<IGFX_METEORLAKE>::isContextSyncFlagRequired() {
|
||||
return iterator != applicationsContextSyncFlag.end();
|
||||
}
|
||||
|
||||
template <>
|
||||
bool AILConfigurationHw<IGFX_METEORLAKE>::useLegacyValidationLogic() {
|
||||
auto it = std::find_if(applicationsLegacyValidationPathMtl.begin(), applicationsLegacyValidationPathMtl.end(), [this](const auto &appName) {
|
||||
return this->processName == appName;
|
||||
});
|
||||
return it != applicationsLegacyValidationPathMtl.end() ? true : false;
|
||||
}
|
||||
|
||||
template class AILConfigurationHw<IGFX_METEORLAKE>;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
Reference in New Issue
Block a user