From 27e84ac45cfdb9fb489235b20a1135b59f0d2793 Mon Sep 17 00:00:00 2001 From: Xin Wang Date: Mon, 28 Oct 2024 19:35:48 +0800 Subject: [PATCH] []NPU] Update adapter and backend to use new level zero ext table (#27095) ### Details: - *use ze_graph_dditable_ext_t to replace local ze_graph_dditable_ext_last_t* - *use ze_graph_ext_version_t as template parameter instead of ze_graph_dditable_ext_1_x* - *update commit of level-zero-ext to use one ddi table* Plugin with current driver and driver released later, will use ze_graph_dditable_ext_t and ZE_extension_graph, the version is ZE_GRAPH_EXT_VERSION_CURRENT inside current level-zero-ext commit, 1.8 now Plugin with old driver, will use ze_graph_dditable_ext_t to reinterpret old ddi table, use largest version supported by driver, , backend work on ze_graph_ext_version_t, compiler will work based on ze_graph_ext_version_t. Fpr example, largest ext version supported by driver is 1.7. plugin will use 1.7. ### Tickets: - *155313* --- .../src/backend/include/zero_types.hpp | 8 +- .../src/backend/src/zero_backend.cpp | 2 +- .../intel_npu/src/backend/src/zero_init.cpp | 42 ++++++++- .../include/zero_compiler_in_driver.hpp | 57 ++++++------ .../compiler/src/driver_compiler_adapter.cpp | 56 ++++++------ .../compiler/src/zero_compiler_in_driver.cpp | 88 +++++++++---------- .../intel_npu/thirdparty/level-zero-ext | 2 +- 7 files changed, 147 insertions(+), 108 deletions(-) diff --git a/src/plugins/intel_npu/src/backend/include/zero_types.hpp b/src/plugins/intel_npu/src/backend/include/zero_types.hpp index 2b8738b245a8d4..43b97b7217f512 100644 --- a/src/plugins/intel_npu/src/backend/include/zero_types.hpp +++ b/src/plugins/intel_npu/src/backend/include/zero_types.hpp @@ -13,10 +13,6 @@ #include "intel_npu/config/runtime.hpp" -/** - * @brief Last version of Table of Graph Extension functions used within plugin - */ -using ze_graph_dditable_ext_last_t = ze_graph_dditable_ext_1_8_t; /** * @brief Last version of the Command Queue functions used within plugin */ @@ -34,7 +30,7 @@ using ze_graph_profiling_dditable_ext_last_t = ze_graph_profiling_dditable_ext_t */ struct ze_graph_dditable_ext_decorator final { private: - ze_graph_dditable_ext_last_t* const _impl; + ze_graph_dditable_ext_t* const _impl; const uint32_t _driverExtVersion; ze_graph_dditable_ext_decorator(const ze_graph_dditable_ext_decorator&) = delete; @@ -53,7 +49,7 @@ struct ze_graph_dditable_ext_decorator final { } public: - ze_graph_dditable_ext_decorator(ze_graph_dditable_ext_last_t* impl, uint32_t driverExtVersion) + ze_graph_dditable_ext_decorator(ze_graph_dditable_ext_t* impl, uint32_t driverExtVersion) : _impl(impl), _driverExtVersion(driverExtVersion), // version 1.0 diff --git a/src/plugins/intel_npu/src/backend/src/zero_backend.cpp b/src/plugins/intel_npu/src/backend/src/zero_backend.cpp index d74692400b0d90..86af62d414b88c 100644 --- a/src/plugins/intel_npu/src/backend/src/zero_backend.cpp +++ b/src/plugins/intel_npu/src/backend/src/zero_backend.cpp @@ -30,7 +30,7 @@ uint32_t ZeroEngineBackend::getGraphExtVersion() const { } bool ZeroEngineBackend::isBatchingSupported() const { - return _instance->isExtensionSupported(std::string(ZE_GRAPH_EXT_NAME_1_6), ZE_MAKE_VERSION(1, 6)); + return _instance->isExtensionSupported("ZE_extension_graph_1_6", ZE_MAKE_VERSION(1, 6)); } bool ZeroEngineBackend::isCommandQueueExtSupported() const { diff --git a/src/plugins/intel_npu/src/backend/src/zero_init.cpp b/src/plugins/intel_npu/src/backend/src/zero_init.cpp index e418fcc5f58cc2..827450718edaf2 100644 --- a/src/plugins/intel_npu/src/backend/src/zero_init.cpp +++ b/src/plugins/intel_npu/src/backend/src/zero_init.cpp @@ -4,6 +4,8 @@ #include "zero_init.hpp" +#include + #include "intel_npu/common/itt.hpp" #include "intel_npu/utils/zero/zero_api.hpp" #include "intel_npu/utils/zero/zero_utils.hpp" @@ -114,14 +116,50 @@ ZeroInitStructsHolder::ZeroInitStructsHolder() : log("NPUZeroInitStructsHolder", // Query our graph extension version std::string graph_ext_name; uint32_t graph_ext_version = 0; + uint32_t target_graph_ext_version = ZE_GRAPH_EXT_VERSION_CURRENT; + +#if defined(NPU_PLUGIN_DEVELOPER_BUILD) + const char* extVersion = std::getenv("NPU_ZE_GRAPH_EXT_VERSION"); + if (extVersion) { + std::string extVersionString(extVersion); + std::regex extVersionRegex(R"(^(\d+)\.(\d+)$)"); + std::smatch match; + + if (std::regex_match(extVersionString, match, extVersionRegex)) { + int major = std::stoi(match[1].str()); + int minor = std::stoi(match[2].str()); + log.debug("Try to find graph ext version: %d.%d instead of %d.%d.", + major, + minor, + ZE_MAJOR_VERSION(target_graph_ext_version), + ZE_MINOR_VERSION(target_graph_ext_version)); + target_graph_ext_version = ZE_MAKE_VERSION(major, minor); + } + } +#endif + log.debug("Try to find graph ext version: %d.%d", + ZE_MAJOR_VERSION(target_graph_ext_version), + ZE_MINOR_VERSION(target_graph_ext_version)); std::tie(graph_ext_version, graph_ext_name) = - queryDriverExtensionVersion(ZE_GRAPH_EXT_NAME, ZE_GRAPH_EXT_VERSION_CURRENT, extProps, count); + queryDriverExtensionVersion(ZE_GRAPH_EXT_NAME, target_graph_ext_version, extProps, count); if (graph_ext_name.empty()) { OPENVINO_THROW("queryGraphExtensionVersion: Failed to find Graph extension in NPU Driver"); } + // Use version that plugin can support as identifier to control workflow + if (graph_ext_version > target_graph_ext_version) { + log.warning("Graph extension version from driver is %d.%d. " + "Larger than plugin max graph ext version %d.%d. " + "Force to use plugin ext version with the new table to control flow!", + ZE_MAJOR_VERSION(graph_ext_version), + ZE_MINOR_VERSION(graph_ext_version), + ZE_MAJOR_VERSION(target_graph_ext_version), + ZE_MINOR_VERSION(target_graph_ext_version)); + graph_ext_version = target_graph_ext_version; + } + const uint16_t supported_driver_ext_major_version = 1; const uint16_t driver_ext_major_version = ZE_MAJOR_VERSION(graph_ext_version); if (supported_driver_ext_major_version != driver_ext_major_version) { @@ -166,7 +204,7 @@ ZeroInitStructsHolder::ZeroInitStructsHolder() : log("NPUZeroInitStructsHolder", command_queue_ext_version); // Load our graph extension - ze_graph_dditable_ext_last_t* graph_ddi_table_ext = nullptr; + ze_graph_dditable_ext_t* graph_ddi_table_ext = nullptr; THROW_ON_FAIL_FOR_LEVELZERO("zeDriverGetExtensionFunctionAddress", zeDriverGetExtensionFunctionAddress(driver_handle, graph_ext_name.c_str(), diff --git a/src/plugins/intel_npu/src/compiler/include/zero_compiler_in_driver.hpp b/src/plugins/intel_npu/src/compiler/include/zero_compiler_in_driver.hpp index 658f138a72c102..5641408dffcac0 100644 --- a/src/plugins/intel_npu/src/compiler/include/zero_compiler_in_driver.hpp +++ b/src/plugins/intel_npu/src/compiler/include/zero_compiler_in_driver.hpp @@ -18,37 +18,34 @@ namespace driverCompilerAdapter { using SerializedIR = std::pair>; -#define NotSupportQuery(T) (std::is_same::value) +#define NotSupportQuery(T) (T == ZE_GRAPH_EXT_VERSION_1_2) // ext version == 1.3 && 1.4, support API (pfnQueryNetworkCreate, pfnQueryNetworkDestroy, // pfnQueryNetworkGetSupportedLayers) -#define SupportAPIGraphQueryNetworkV1(T) \ - (std::is_same::value || std::is_same::value) +#define SupportAPIGraphQueryNetworkV1(T) (T == ZE_GRAPH_EXT_VERSION_1_3 || T == ZE_GRAPH_EXT_VERSION_1_4) // ext version >= 1.5, support API (pfnCreate2, pfnQueryNetworkCreate2, pfnQueryContextMemory) #define SupportAPIGraphQueryNetworkV2(T) ((!NotSupportQuery(T) && !SupportAPIGraphQueryNetworkV1(T))) // For ext version >= 1.5, pfnCreate2 api is avaible -#define NotSupportGraph2(T) \ - (std::is_same::value || std::is_same::value || \ - std::is_same::value) +#define NotSupportGraph2(T) \ + (T == ZE_GRAPH_EXT_VERSION_1_2 || T == ZE_GRAPH_EXT_VERSION_1_3 || T == ZE_GRAPH_EXT_VERSION_1_4) // A bug inside the driver makes the "pfnGraphGetArgumentMetadata" call not safe for use prior to // "ze_graph_dditable_ext_1_6_t". // See: E#117498 -#define NotSupportArgumentMetadata(T) \ - (std::is_same::value || std::is_same::value || \ - std::is_same::value || std::is_same::value) +#define NotSupportArgumentMetadata(T) \ + (T == ZE_GRAPH_EXT_VERSION_1_2 || T == ZE_GRAPH_EXT_VERSION_1_3 || T == ZE_GRAPH_EXT_VERSION_1_4 || \ + T == ZE_GRAPH_EXT_VERSION_1_5) -#define UseCopyForNativeBinary(T) \ - (std::is_same::value || std::is_same::value || \ - std::is_same::value || std::is_same::value || \ - std::is_same::value) +#define UseCopyForNativeBinary(T) \ + (T == ZE_GRAPH_EXT_VERSION_1_2 || T == ZE_GRAPH_EXT_VERSION_1_3 || T == ZE_GRAPH_EXT_VERSION_1_4 || \ + T == ZE_GRAPH_EXT_VERSION_1_5 || T == ZE_GRAPH_EXT_VERSION_1_6) /** * Adapter to use CiD through ZeroAPI */ -template +template class LevelZeroCompilerInDriver final : public ICompiler { public: LevelZeroCompilerInDriver(ze_driver_handle_t driverHandle, @@ -79,7 +76,7 @@ class LevelZeroCompilerInDriver final : public ICompiler { OPENVINO_THROW("Profiling post-processing is not implemented."); } - template = true> + template = true> std::unordered_set getQueryResultFromSupportedLayers( ze_result_t result, ze_graph_query_network_handle_t& hGraphQueryNetwork) const; @@ -111,35 +108,40 @@ class LevelZeroCompilerInDriver final : public ICompiler { ze_graph_compiler_version_info_t compilerVersion) const; std::string serializeConfig(const Config& config, ze_graph_compiler_version_info_t& compilerVersion) const; - template = true> + template = true> void getMetadata(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, uint32_t index, std::vector& inputs, std::vector& outputs) const; - template = true> + template = true> void getMetadata(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, uint32_t index, std::vector& inputs, std::vector& outputs) const; - template = true> + template = true> void getNativeBinary(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, std::vector& blob, const uint8_t*& blobPtr, size_t& blobSize) const; - template = true> + template = true> void getNativeBinary(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, std::vector& /* unusedBlob */, const uint8_t*& blobPtr, size_t& blobSize) const; - template = true> + template = true> ze_result_t seriazlideIRModelAndQueryNetworkCreateV2(const std::shared_ptr& model, const Config& config, ze_device_graph_properties_t deviceGraphProperties, @@ -147,11 +149,13 @@ class LevelZeroCompilerInDriver final : public ICompiler { ze_graph_query_network_handle_t& hGraphQueryNetwork) const; // ext version >= 1.5, support API (pfnCreate2, pfnQueryNetworkCreate2, pfnQueryContextMemory) - template = true> + template = true> std::unordered_set queryImpl(const std::shared_ptr& model, const Config& config) const; - template = true> + template = true> ze_result_t seriazlideIRModelAndQueryNetworkCreateV1(const std::shared_ptr& model, const Config& config, ze_device_graph_properties_t deviceGraphProperties, @@ -160,23 +164,24 @@ class LevelZeroCompilerInDriver final : public ICompiler { // ext version == 1.3 && 1.4, support API (pfnQueryNetworkCreate, pfnQueryNetworkDestroy, // pfnQueryNetworkGetSupportedLayers) - template = true> + template = true> std::unordered_set queryImpl(const std::shared_ptr& model, const Config& config) const; // For ext version < 1.3 - template = true> + template = true> std::unordered_set queryImpl(const std::shared_ptr& model, const Config& config) const; - template = true> + template = true> ze_result_t createGraph(const ze_graph_format_t& format, const SerializedIR& serializedIR, const std::string& buildFlags, const uint32_t& flags, ze_graph_handle_t* graph) const; - template = true> + template = true> ze_result_t createGraph(const ze_graph_format_t& format, const SerializedIR& serializedIR, const std::string& buildFlags, diff --git a/src/plugins/intel_npu/src/compiler/src/driver_compiler_adapter.cpp b/src/plugins/intel_npu/src/compiler/src/driver_compiler_adapter.cpp index 84bca75106483d..0406b375609044 100644 --- a/src/plugins/intel_npu/src/compiler/src/driver_compiler_adapter.cpp +++ b/src/plugins/intel_npu/src/compiler/src/driver_compiler_adapter.cpp @@ -41,46 +41,46 @@ LevelZeroCompilerAdapter::LevelZeroCompilerAdapter(std::shared_ptr>(driverHandle, - deviceHandle, - zeContext, - graph_ddi_table_ext); + apiAdapter = std::make_shared>(driverHandle, + deviceHandle, + zeContext, + graph_ddi_table_ext); break; case ZE_GRAPH_EXT_VERSION_1_4: - apiAdapter = std::make_shared>(driverHandle, - deviceHandle, - zeContext, - graph_ddi_table_ext); + apiAdapter = std::make_shared>(driverHandle, + deviceHandle, + zeContext, + graph_ddi_table_ext); break; case ZE_GRAPH_EXT_VERSION_1_5: - apiAdapter = std::make_shared>(driverHandle, - deviceHandle, - zeContext, - graph_ddi_table_ext); + apiAdapter = std::make_shared>(driverHandle, + deviceHandle, + zeContext, + graph_ddi_table_ext); break; case ZE_GRAPH_EXT_VERSION_1_6: - apiAdapter = std::make_shared>(driverHandle, - deviceHandle, - zeContext, - graph_ddi_table_ext); + apiAdapter = std::make_shared>(driverHandle, + deviceHandle, + zeContext, + graph_ddi_table_ext); break; case ZE_GRAPH_EXT_VERSION_1_7: - apiAdapter = std::make_shared>(driverHandle, - deviceHandle, - zeContext, - graph_ddi_table_ext); + apiAdapter = std::make_shared>(driverHandle, + deviceHandle, + zeContext, + graph_ddi_table_ext); break; case ZE_GRAPH_EXT_VERSION_1_8: - apiAdapter = std::make_shared>(driverHandle, - deviceHandle, - zeContext, - graph_ddi_table_ext); + apiAdapter = std::make_shared>(driverHandle, + deviceHandle, + zeContext, + graph_ddi_table_ext); break; default: - apiAdapter = std::make_shared>(driverHandle, - deviceHandle, - zeContext, - graph_ddi_table_ext); + apiAdapter = std::make_shared>(driverHandle, + deviceHandle, + zeContext, + graph_ddi_table_ext); break; } diff --git a/src/plugins/intel_npu/src/compiler/src/zero_compiler_in_driver.cpp b/src/plugins/intel_npu/src/compiler/src/zero_compiler_in_driver.cpp index 47bc7611d132c3..8f7ac4198bb0a4 100644 --- a/src/plugins/intel_npu/src/compiler/src/zero_compiler_in_driver.cpp +++ b/src/plugins/intel_npu/src/compiler/src/zero_compiler_in_driver.cpp @@ -178,7 +178,7 @@ std::string rankToLegacyLayoutString(const size_t rank) { namespace intel_npu { namespace driverCompilerAdapter { -template +template LevelZeroCompilerInDriver::LevelZeroCompilerInDriver(ze_driver_handle_t driverHandle, ze_device_handle_t deviceHandle, ze_context_handle_t zeContext, @@ -189,7 +189,7 @@ LevelZeroCompilerInDriver::LevelZeroCompilerInDriver(ze_driver_h _graphDdiTableExt(graph_ddi_table_ext), _logger("LevelZeroCompilerInDriver", Logger::global().level()) {} -template +template LevelZeroCompilerInDriver::~LevelZeroCompilerInDriver() { _logger.debug("LevelZeroCompilerInDriver obj destroyed"); } @@ -198,7 +198,7 @@ LevelZeroCompilerInDriver::~LevelZeroCompilerInDriver() { * @brief Place xml + weights in sequential memory * @details Format of the memory: */ -template +template SerializedIR LevelZeroCompilerInDriver::serializeIR( const std::shared_ptr& model, ze_graph_compiler_version_info_t compilerVersion) const { @@ -258,7 +258,7 @@ SerializedIR LevelZeroCompilerInDriver::serializeIR( return std::make_pair(sizeOfSerializedIR, buffer); } -template +template std::string LevelZeroCompilerInDriver::serializeIOInfo(const std::shared_ptr& model, const bool useIndices) { const ov::ParameterVector& parameters = model->get_parameters(); @@ -348,7 +348,7 @@ std::string LevelZeroCompilerInDriver::serializeIOInfo(const std outputsPrecisionSS.str() + VALUES_SEPARATOR.data() + outputsLayoutSS.str(); } -template +template void LevelZeroCompilerInDriver::release(std::shared_ptr networkDescription) { _logger.debug("performing release networkDescription"); if (networkDescription->metadata.graphHandle != nullptr) { @@ -366,8 +366,8 @@ void LevelZeroCompilerInDriver::release(std::shared_ptr -template > +template +template > void LevelZeroCompilerInDriver::getNativeBinary(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, std::vector& blob, @@ -389,8 +389,8 @@ void LevelZeroCompilerInDriver::getNativeBinary(ze_graph_dditabl blobPtr = blob.data(); } -template -template > +template +template > void LevelZeroCompilerInDriver::getNativeBinary(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, std::vector& /* unusedBlob */, @@ -403,7 +403,7 @@ void LevelZeroCompilerInDriver::getNativeBinary(ze_graph_dditabl _graphDdiTableExt); } -template +template CompiledNetwork LevelZeroCompilerInDriver::getCompiledNetwork( const NetworkDescription& networkDescription) { if (networkDescription.metadata.graphHandle != nullptr && networkDescription.compiledNetwork.size() == 0) { @@ -425,7 +425,7 @@ CompiledNetwork LevelZeroCompilerInDriver::getCompiledNetwork( networkDescription.compiledNetwork); } -template +template std::string LevelZeroCompilerInDriver::serializeConfig( const Config& config, ze_graph_compiler_version_info_t& compilerVersion) const { @@ -611,8 +611,8 @@ static std::unordered_set parseQueryResult(std::vector& data) } // For ext version < 1.3, query is unsupported, return empty result and add debug log here -template -template > +template +template > std::unordered_set LevelZeroCompilerInDriver::queryImpl( const std::shared_ptr& /*model*/, const Config&) const { @@ -621,8 +621,8 @@ std::unordered_set LevelZeroCompilerInDriver::query } // For ext version == 1.3 && == 1.4 -template -template > +template +template > ze_result_t LevelZeroCompilerInDriver::seriazlideIRModelAndQueryNetworkCreateV1( const std::shared_ptr& model, const Config& config, @@ -652,8 +652,8 @@ ze_result_t LevelZeroCompilerInDriver::seriazlideIRModelAndQuery } // For ext version == 1.3 && == 1.4, query is supported, calling querynetwork api in _graphDdiTableExt -template -template > +template +template > std::unordered_set LevelZeroCompilerInDriver::queryImpl( const std::shared_ptr& model, const Config& config) const { @@ -675,8 +675,8 @@ std::unordered_set LevelZeroCompilerInDriver::query } // For ext version >= 1.5 -template -template > +template +template > ze_result_t LevelZeroCompilerInDriver::seriazlideIRModelAndQueryNetworkCreateV2( const std::shared_ptr& model, const Config& config, @@ -708,8 +708,8 @@ ze_result_t LevelZeroCompilerInDriver::seriazlideIRModelAndQuery } // For ext version >= 1.5 -template -template > +template +template > std::unordered_set LevelZeroCompilerInDriver::queryImpl( const std::shared_ptr& model, const Config& config) const { @@ -730,8 +730,8 @@ std::unordered_set LevelZeroCompilerInDriver::query return getQueryResultFromSupportedLayers(result, hGraphQueryNetwork); } -template -template > +template +template > std::unordered_set LevelZeroCompilerInDriver::getQueryResultFromSupportedLayers( ze_result_t result, ze_graph_query_network_handle_t& hGraphQueryNetwork) const { @@ -761,7 +761,7 @@ std::unordered_set LevelZeroCompilerInDriver::getQu return parseQueryResult(supportedLayers); } -template +template ov::SupportedOpsMap LevelZeroCompilerInDriver::query(const std::shared_ptr& model, const Config& config) const { _logger.debug("query start"); @@ -784,8 +784,8 @@ ov::SupportedOpsMap LevelZeroCompilerInDriver::query(const std:: } // For ext version <1.5, calling pfnCreate api in _graphDdiTableExt -template -template > +template +template > ze_result_t LevelZeroCompilerInDriver::createGraph(const ze_graph_format_t& format, const SerializedIR& serializedIR, const std::string& buildFlags, @@ -807,8 +807,8 @@ ze_result_t LevelZeroCompilerInDriver::createGraph(const ze_grap } // For ext version >= 1.5, calling pfnCreate2 api in _graphDdiTableExt -template -template > +template +template > ze_result_t LevelZeroCompilerInDriver::createGraph(const ze_graph_format_t& format, const SerializedIR& serializedIR, const std::string& buildFlags, @@ -829,7 +829,7 @@ ze_result_t LevelZeroCompilerInDriver::createGraph(const ze_grap return result; } -template +template ze_result_t LevelZeroCompilerInDriver::seriazlideIRModelAndCreateGraph( const std::shared_ptr& model, const Config& config, @@ -862,7 +862,7 @@ ze_result_t LevelZeroCompilerInDriver::seriazlideIRModelAndCreat return result; } -template +template NetworkDescription LevelZeroCompilerInDriver::compile(const std::shared_ptr& model, const Config& config) const { _logger.debug("compile start"); @@ -887,7 +887,7 @@ NetworkDescription LevelZeroCompilerInDriver::compile(const std: return networkDescription; } -template +template NetworkMetadata LevelZeroCompilerInDriver::parse(const std::vector& network, const Config& config) const { OV_ITT_TASK_CHAIN(PARSE_BLOB, itt::domains::NPUPlugin, "LevelZeroCompilerInDriver::parse", "desc"); @@ -920,7 +920,7 @@ NetworkMetadata LevelZeroCompilerInDriver::parse(const std::vect return networkMeta; } -template +template uint32_t LevelZeroCompilerInDriver::getSupportedOpsetVersion() const { _logger.debug("getSupportedOpsetVersion start"); @@ -990,8 +990,8 @@ static IODescriptor getIODescriptor(const ze_graph_argument_properties_3_t& arg, metadata.has_value() ? std::optional(shapeFromIRModel) : std::nullopt}; } -template -template > +template +template > void LevelZeroCompilerInDriver::getMetadata(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, uint32_t index, @@ -1014,8 +1014,8 @@ void LevelZeroCompilerInDriver::getMetadata(ze_graph_dditable_ex } } -template -template > +template +template > void LevelZeroCompilerInDriver::getMetadata(ze_graph_dditable_ext_curr_t& graphDdiTableExt, ze_graph_handle_t graphHandle, uint32_t index, @@ -1048,7 +1048,7 @@ void LevelZeroCompilerInDriver::getMetadata(ze_graph_dditable_ex } } -template +template NetworkMetadata LevelZeroCompilerInDriver::getNetworkMeta(ze_graph_handle_t graphHandle) const { ze_graph_properties_t graphProperties{}; @@ -1069,13 +1069,13 @@ NetworkMetadata LevelZeroCompilerInDriver::getNetworkMeta(ze_gra return meta; } -template class LevelZeroCompilerInDriver; -template class LevelZeroCompilerInDriver; -template class LevelZeroCompilerInDriver; -template class LevelZeroCompilerInDriver; -template class LevelZeroCompilerInDriver; -template class LevelZeroCompilerInDriver; -template class LevelZeroCompilerInDriver; +template class LevelZeroCompilerInDriver; +template class LevelZeroCompilerInDriver; +template class LevelZeroCompilerInDriver; +template class LevelZeroCompilerInDriver; +template class LevelZeroCompilerInDriver; +template class LevelZeroCompilerInDriver; +template class LevelZeroCompilerInDriver; } // namespace driverCompilerAdapter } // namespace intel_npu diff --git a/src/plugins/intel_npu/thirdparty/level-zero-ext b/src/plugins/intel_npu/thirdparty/level-zero-ext index cdb761dd63b1d4..a6487cc2c5da9a 160000 --- a/src/plugins/intel_npu/thirdparty/level-zero-ext +++ b/src/plugins/intel_npu/thirdparty/level-zero-ext @@ -1 +1 @@ -Subproject commit cdb761dd63b1d47230d501e631a2d725db09ba0d +Subproject commit a6487cc2c5da9aa13db9e005a320a1b6a0ee5919