diff --git a/ports/openvino/002-fix-onnx.patch b/ports/openvino/002-fix-onnx.patch deleted file mode 100644 index 7fdbc006a6f0f8..00000000000000 --- a/ports/openvino/002-fix-onnx.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/frontends/onnx/onnx_common/CMakeLists.txt b/src/frontends/onnx/onnx_common/CMakeLists.txt -index d63bce4..116a6e3 100644 ---- a/src/frontends/onnx/onnx_common/CMakeLists.txt -+++ b/src/frontends/onnx/onnx_common/CMakeLists.txt -@@ -30,7 +30,7 @@ target_include_directories(${TARGET_NAME} - - target_link_libraries(${TARGET_NAME} PRIVATE openvino::runtime openvino::util) - --ov_link_system_libraries(${TARGET_NAME} PUBLIC onnx_proto onnx) -+ov_link_system_libraries(${TARGET_NAME} PUBLIC ONNX::onnx ONNX::onnx_proto) - - ov_add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}) - -diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake -index 24c4940..8ea7d12 100644 ---- a/thirdparty/dependencies.cmake -+++ b/thirdparty/dependencies.cmake -@@ -479,7 +479,7 @@ endif() - # - - if(ENABLE_OV_ONNX_FRONTEND) -- find_package(ONNX 1.15.0 QUIET COMPONENTS onnx onnx_proto NO_MODULE) -+ find_package(ONNX CONFIG REQUIRED) - - if(ONNX_FOUND) - # conan and vcpkg create imported targets 'onnx' and 'onnx_proto' diff --git a/ports/openvino/002-protobuf.patch b/ports/openvino/002-protobuf.patch new file mode 100644 index 00000000000000..66f9e7e14bfed8 --- /dev/null +++ b/ports/openvino/002-protobuf.patch @@ -0,0 +1,28 @@ +diff --git a/src/frontends/onnx/frontend/src/frontend.cpp b/src/frontends/onnx/frontend/src/frontend.cpp +index 5ad28be3654422..5296e5b1b7a506 100644 +--- a/src/frontends/onnx/frontend/src/frontend.cpp ++++ b/src/frontends/onnx/frontend/src/frontend.cpp +@@ -3,6 +3,9 @@ + // + + #include ++#ifndef PROTOBUF_VERSION ++# include ++#endif + #if PROTOBUF_VERSION >= 4022000 // protobuf 4.22 + # define OV_PROTOBUF_ABSL_IS_USED + #endif +diff --git a/src/frontends/paddle/src/frontend.cpp b/src/frontends/paddle/src/frontend.cpp +index 163b4d894cb766..2f2ca72418e5dd 100644 +--- a/src/frontends/paddle/src/frontend.cpp ++++ b/src/frontends/paddle/src/frontend.cpp +@@ -5,6 +5,9 @@ + #include "openvino/frontend/paddle/frontend.hpp" + + #include ++#ifndef PROTOBUF_VERSION ++# include ++#endif + #if PROTOBUF_VERSION >= 4022000 // protobuf 4.22 + # define OV_PROTOBUF_ABSL_IS_USED + #endif diff --git a/ports/openvino/003-protobuf.patch b/ports/openvino/003-protobuf.patch deleted file mode 100644 index dcb3ba4bb293ae..00000000000000 --- a/ports/openvino/003-protobuf.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/src/frontends/onnx/frontend/src/frontend.cpp b/src/frontends/onnx/frontend/src/frontend.cpp -index d4b83fee20..28272a1eda 100644 ---- a/src/frontends/onnx/frontend/src/frontend.cpp -+++ b/src/frontends/onnx/frontend/src/frontend.cpp -@@ -2,6 +2,7 @@ - // SPDX-License-Identifier: Apache-2.0 - // - -+#include - #include - #if PROTOBUF_VERSION >= 4022000 // protobuf 4.22 - # define OV_PROTOBUF_ABSL_IS_USED -diff --git a/src/frontends/paddle/src/frontend.cpp b/src/frontends/paddle/src/frontend.cpp -index c6febe0843..5d4789ccb6 100644 ---- a/src/frontends/paddle/src/frontend.cpp -+++ b/src/frontends/paddle/src/frontend.cpp -@@ -4,6 +4,7 @@ - - #include "openvino/frontend/paddle/frontend.hpp" - -+#include - #include - #if PROTOBUF_VERSION >= 4022000 // protobuf 4.22 - # define OV_PROTOBUF_ABSL_IS_USED -diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake -index 9d7b16aeb8..af47fb99ee 100644 ---- a/thirdparty/dependencies.cmake -+++ b/thirdparty/dependencies.cmake -@@ -325,7 +325,7 @@ if(ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_TF_FRONTEND - # try to find newer version first (major is changed) - # see https://protobuf.dev/support/version-support/ and - # https://github.com/protocolbuffers/protobuf/commit/d61f75ff6db36b4f9c0765f131f8edc2f86310fa -- find_package(Protobuf 4.22.0 QUIET CONFIG) -+ find_package(Protobuf REQUIRED CONFIG) - if(Protobuf_FOUND) - # protobuf was found via CONFIG mode, let's save it for later usage in OpenVINOConfig.cmake static build - set(protobuf_config CONFIG) diff --git a/ports/openvino/003-snippets-templates.patch b/ports/openvino/003-snippets-templates.patch new file mode 100644 index 00000000000000..548f5399c3b3ea --- /dev/null +++ b/ports/openvino/003-snippets-templates.patch @@ -0,0 +1,52 @@ +diff --git a/docs/snippets/CMakeLists.txt b/docs/snippets/CMakeLists.txt +index ec1cf14bd0e60b..18d176212a0212 100644 +--- a/docs/snippets/CMakeLists.txt ++++ b/docs/snippets/CMakeLists.txt +@@ -122,12 +122,15 @@ set(TARGET_NAME_PY "ov_integration_snippet_py") + cmake_minimum_required(VERSION 3.10) + set(CMAKE_CXX_STANDARD 11) + +-find_package(Python3 REQUIRED) +- execute_process( +- COMMAND ${Python3_EXECUTABLE} -c "from openvino.utils import get_cmake_path; print(get_cmake_path(), end='')" +- OUTPUT_VARIABLE OpenVINO_DIR_PY +- ERROR_QUIET +- ) ++if(NOT CMAKE_CROSSCOMPILING) ++ find_package(Python3 QUIET COMPONENTS Interpreter) ++ if(Python3_Interpreter_FOUND) ++ execute_process( ++ COMMAND ${Python3_EXECUTABLE} -c "from openvino.utils import get_cmake_path; print(get_cmake_path(), end='')" ++ OUTPUT_VARIABLE OpenVINO_DIR_PY ++ ERROR_QUIET) ++ endif() ++endif() + + find_package(OpenVINO REQUIRED PATHS "${OpenVINO_DIR_PY}") + +diff --git a/src/core/template_extension/CMakeLists.txt b/src/core/template_extension/CMakeLists.txt +index aa8030e78d7171..3cfcfcd058ff94 100644 +--- a/src/core/template_extension/CMakeLists.txt ++++ b/src/core/template_extension/CMakeLists.txt +@@ -8,12 +8,15 @@ set(CMAKE_CXX_STANDARD 11) + set(TARGET_NAME "openvino_template_extension") + + # The OpenVINO installed from PyPI can be used to find OpenVINO_DIR +-find_package(Python3 REQUIRED) +-execute_process( +- COMMAND ${Python3_EXECUTABLE} -c "from openvino.utils import get_cmake_path; print(get_cmake_path(), end='')" +- OUTPUT_VARIABLE OpenVINO_DIR_PY +- ERROR_QUIET +-) ++if(NOT CMAKE_CROSSCOMPILING) ++ find_package(Python3 QUIET COMPONENTS Interpreter) ++ if(Python3_Interpreter_FOUND) ++ execute_process( ++ COMMAND ${Python3_EXECUTABLE} -c "from openvino.utils import get_cmake_path; print(get_cmake_path(), end='')" ++ OUTPUT_VARIABLE OpenVINO_DIR_PY ++ ERROR_QUIET) ++ endif() ++endif() + + find_package(OpenVINO REQUIRED PATHS "${OpenVINO_DIR_PY}") + diff --git a/ports/openvino/add-include-chrono.patch b/ports/openvino/004-add-include-chrono.patch similarity index 100% rename from ports/openvino/add-include-chrono.patch rename to ports/openvino/004-add-include-chrono.patch diff --git a/ports/openvino/005-level-zero.patch b/ports/openvino/005-level-zero.patch new file mode 100644 index 00000000000000..a203b1923a5bad --- /dev/null +++ b/ports/openvino/005-level-zero.patch @@ -0,0 +1,191 @@ +commit e9bcbb48a1e342fefd890a3d8c4bf701f9b5842e +Author: Ilya Lavrenov +Date: Wed Nov 20 20:39:25 2024 +0400 + + [NPU] Allow to use system level-zero (#27633) + + ### Details: + - + https://github.com/conda-forge/openvino-feedstock/pull/110#discussion_r1849117753 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e9e8d3724d..65a72ef8f4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -138,7 +138,7 @@ function(ov_developer_package_export_targets) + endforeach() + endif() + else() +- message(FATAL_ERROR "Internal error: ${target_name} does not represent a cmake target") ++ message(FATAL_ERROR "Internal error: '${EXPORT_TARGET}' does not represent a cmake target") + endif() + + list(REMOVE_DUPLICATES _OPENVINO_DEVELOPER_PACKAGE_TARGETS) +diff --git a/cmake/features.cmake b/cmake/features.cmake +index e1201ad3a1..f12810adf8 100644 +--- a/cmake/features.cmake ++++ b/cmake/features.cmake +@@ -200,6 +200,9 @@ ov_dependent_option (ENABLE_SYSTEM_PROTOBUF "Enables use of system Protobuf" OFF + # the option is turned off by default, because we don't want to have a dependency on libsnappy.so + ov_dependent_option (ENABLE_SYSTEM_SNAPPY "Enables use of system version of Snappy" OFF + "ENABLE_SNAPPY_COMPRESSION" OFF) ++# the option is turned off by default, because we are not sure that system version of ZE loader is fresh enough ++ov_dependent_option (ENABLE_SYSTEM_LEVEL_ZERO "Enables use of system version of Level Zero" OFF ++ "ENABLE_INTEL_NPU" OFF) + + ov_dependent_option(ENABLE_JS "Enables JS API building" ${ENABLE_JS_DEFAULT} "NOT ANDROID;NOT EMSCRIPTEN" OFF) + +diff --git a/src/cmake/ov_parallel.cmake b/src/cmake/ov_parallel.cmake +index 110e7fe185..86a4a8092b 100644 +--- a/src/cmake/ov_parallel.cmake ++++ b/src/cmake/ov_parallel.cmake +@@ -132,7 +132,7 @@ macro(ov_find_package_tbb) + IMPORTED_TARGET + # we need to set GLOBAL in order to create ALIAS later + # ALIAS creation for non-GLOBAL targets is available since cmake 3.18 +- ${OV_PkgConfig_VISILITY} ++ ${OV_PkgConfig_VISIBILITY} + tbb) + if(tbb_FOUND) + # parse version +diff --git a/src/plugins/intel_npu/src/backend/CMakeLists.txt b/src/plugins/intel_npu/src/backend/CMakeLists.txt +index 5a1585c0a6..251479aa19 100644 +--- a/src/plugins/intel_npu/src/backend/CMakeLists.txt ++++ b/src/plugins/intel_npu/src/backend/CMakeLists.txt +@@ -25,7 +25,7 @@ target_link_libraries(${TARGET_NAME} + PRIVATE + openvino::npu_al + openvino::npu_common +- ze_loader ++ LevelZero::LevelZero + ) + + # +diff --git a/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt b/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt +index 9f265b7f6d..830019f855 100644 +--- a/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt ++++ b/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt +@@ -25,7 +25,7 @@ target_link_libraries(${TARGET_NAME} + PRIVATE + openvino::npu_al + openvino::npu_common +- ze_loader ++ LevelZero::LevelZero + ) + + # +diff --git a/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt b/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt +index f1e81267dc..8eb9cb31db 100644 +--- a/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt ++++ b/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt +@@ -21,10 +21,7 @@ target_include_directories(${TARGET_NAME} + $ + $) + +- +-target_link_libraries( +- ${TARGET_NAME} +- PUBLIC openvino::runtime openvino::runtime::dev) ++target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime::dev) + + # + # targets install +@@ -35,17 +32,19 @@ ov_developer_package_export_targets(TARGET openvino::npu_zero_utils + INSTALL_INCLUDE_DIRECTORIES + $) + ++ov_developer_package_export_targets(TARGET level-zero-ext) ++ov_install_static_lib(level-zero-ext ${NPU_PLUGIN_COMPONENT}) ++ + if(TARGET ze_loader) + ov_developer_package_export_targets(TARGET ze_loader) +- ov_developer_package_export_targets(TARGET utils) +- ov_developer_package_export_targets(TARGET level-zero-ext) +- + ov_install_static_lib(ze_loader ${NPU_PLUGIN_COMPONENT}) ++ ++ # TODO: remove once https://github.com/oneapi-src/level-zero/pull/243 is merged ++ ov_developer_package_export_targets(TARGET utils) + ov_install_static_lib(utils ${NPU_PLUGIN_COMPONENT}) +- ov_install_static_lib(level-zero-ext ${NPU_PLUGIN_COMPONENT}) + + # Support tests to run with ze_loader + install(TARGETS ze_loader +- RUNTIME DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL +- LIBRARY DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL) ++ RUNTIME DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL ++ LIBRARY DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL) + endif() +diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake +index c22b06bcf5..83f7e209bc 100644 +--- a/thirdparty/dependencies.cmake ++++ b/thirdparty/dependencies.cmake +@@ -18,7 +18,7 @@ find_package(PkgConfig QUIET) + # cmake older than 3.18 cannot create an alias for imported non-GLOBAL targets + # so, we have to use 'IMPORTED_GLOBAL' property + if(CMAKE_VERSION VERSION_LESS 3.18) +- set(OV_PkgConfig_VISILITY GLOBAL) ++ set(OV_PkgConfig_VISIBILITY GLOBAL) + endif() + + if(SUGGEST_OVERRIDE_SUPPORTED) +@@ -69,9 +69,21 @@ endif() + # + + if(ENABLE_INTEL_NPU) +- add_subdirectory(thirdparty/level_zero EXCLUDE_FROM_ALL) ++ if(ENABLE_SYSTEM_LEVEL_ZERO) ++ pkg_search_module(level_zero QUIET ++ IMPORTED_TARGET ++ ${OV_PkgConfig_VISIBILITY} ++ level-zero) ++ if(level_zero_FOUND) ++ add_library(LevelZero::LevelZero ALIAS PkgConfig::level_zero) ++ message(STATUS "${PKG_CONFIG_EXECUTABLE}: level_zero (${level_zero_VERSION}) is found at ${level_zero_PREFIX}") ++ endif() ++ endif() + +- add_library(LevelZero::LevelZero ALIAS ze_loader) ++ if(NOT level_zero_FOUND) ++ add_subdirectory(thirdparty/level_zero EXCLUDE_FROM_ALL) ++ add_library(LevelZero::LevelZero ALIAS ze_loader) ++ endif() + endif() + + # +@@ -190,7 +202,7 @@ if(ENABLE_SYSTEM_PUGIXML) + # Ubuntu 18.04 case when cmake interface is not available + pkg_search_module(pugixml QUIET + IMPORTED_TARGET +- ${OV_PkgConfig_VISILITY} ++ ${OV_PkgConfig_VISIBILITY} + pugixml) + if(pugixml_FOUND) + set(pugixml_target PkgConfig::pugixml) +@@ -249,7 +261,7 @@ if(ENABLE_SYSTEM_PUGIXML) + message(FATAL_ERROR "Debian | RPM package build requires shared Pugixml library") + endif() + +- if(OV_PkgConfig_VISILITY) ++ if(OV_PkgConfig_VISIBILITY) + # need to set GLOBAL visibility in order to create ALIAS for this target + set_target_properties(${pugixml_target} PROPERTIES IMPORTED_GLOBAL ON) + endif() +@@ -299,7 +311,7 @@ if(ENABLE_TESTS) + + if(GTest_FOUND) + foreach(gtest_target gtest gtest_main gmock gmock_main) +- if(OV_PkgConfig_VISILITY) ++ if(OV_PkgConfig_VISIBILITY) + # need to set GLOBAL visibility in order to create ALIAS for this target + set_target_properties(GTest::${gtest_target} PROPERTIES IMPORTED_GLOBAL ON) + endif() +@@ -448,7 +460,7 @@ if(ENABLE_SNAPPY_COMPRESSION) + set(ov_snappy_lib Snappy::snappy-static) + endif() + +- if(OV_PkgConfig_VISILITY) ++ if(OV_PkgConfig_VISIBILITY) + # need to set GLOBAL visibility in order to create ALIAS for this target + set_target_properties(${ov_snappy_lib} PROPERTIES IMPORTED_GLOBAL ON) + endif() \ No newline at end of file diff --git a/ports/openvino/006-level-zero-runtime.patch b/ports/openvino/006-level-zero-runtime.patch new file mode 100644 index 00000000000000..d2322e3a244715 --- /dev/null +++ b/ports/openvino/006-level-zero-runtime.patch @@ -0,0 +1,105 @@ +commit 113e4fc1934a8934c997aaef3e0b76e7da16439b +Author: Xin Wang +Date: Wed Dec 4 18:02:47 2024 +0800 + + [NPU] Use run-time ze_loader for npu plugin (#27659) + + ### Details: + - *Not build or export ze_loader* + - *Create level-zero-headers to export ze headers that needed by extra + modules* + + ### Tickets: + - *157614* + + --------- + + Signed-off-by: Xin Wang + +diff --git a/.github/workflows/linux_conditional_compilation.yml b/.github/workflows/linux_conditional_compilation.yml +index 27f54da6ec..ce78a9f3ae 100644 +--- a/.github/workflows/linux_conditional_compilation.yml ++++ b/.github/workflows/linux_conditional_compilation.yml +@@ -212,7 +212,6 @@ jobs: + tar -cvf - \ + tests/ov_cpu_func_tests \ + tests/libopenvino_template_extension.so \ +- tests/libze_loader.so* \ + tests/libhwloc* \ + tests/libtbb* \ + tests/functional_test_utils/layer_tests_summary/* \ +diff --git a/.github/workflows/windows_conditional_compilation.yml b/.github/workflows/windows_conditional_compilation.yml +index 6a5846b514..2c8ba236d8 100644 +--- a/.github/workflows/windows_conditional_compilation.yml ++++ b/.github/workflows/windows_conditional_compilation.yml +@@ -237,7 +237,7 @@ jobs: + Compress-Archive @compress + + $compress = @{ +- Path = "${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}/ov_cpu_func_tests.exe", "${{ env.BUILD_DIR }}/bin/${{ env.CMAKE_BUILD_TYPE }}/ze_loader.dll", "${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}/openvino_template_extension.dll", "${{ env.OPENVINO_REPO }}/src/tests/test_utils/functional_test_utils/layer_tests_summary", "${{ env.INSTALL_DIR }}/runtime/3rdparty/tbb" ++ Path = "${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}/ov_cpu_func_tests.exe", "${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}/openvino_template_extension.dll", "${{ env.OPENVINO_REPO }}/src/tests/test_utils/functional_test_utils/layer_tests_summary", "${{ env.INSTALL_DIR }}/runtime/3rdparty/tbb" + CompressionLevel = "Optimal" + DestinationPath = "${{ env.BUILD_DIR }}/openvino_tests.zip" + } +diff --git a/src/plugins/intel_npu/src/backend/CMakeLists.txt b/src/plugins/intel_npu/src/backend/CMakeLists.txt +index 251479aa19..3576738605 100644 +--- a/src/plugins/intel_npu/src/backend/CMakeLists.txt ++++ b/src/plugins/intel_npu/src/backend/CMakeLists.txt +@@ -25,7 +25,6 @@ target_link_libraries(${TARGET_NAME} + PRIVATE + openvino::npu_al + openvino::npu_common +- LevelZero::LevelZero + ) + + # +diff --git a/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt b/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt +index 830019f855..b2eb5e8ee9 100644 +--- a/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt ++++ b/src/plugins/intel_npu/src/compiler_adapter/CMakeLists.txt +@@ -25,7 +25,6 @@ target_link_libraries(${TARGET_NAME} + PRIVATE + openvino::npu_al + openvino::npu_common +- LevelZero::LevelZero + ) + + # +diff --git a/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt b/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt +index 8eb9cb31db..7651218954 100644 +--- a/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt ++++ b/src/plugins/intel_npu/src/utils/src/zero/CMakeLists.txt +@@ -15,9 +15,13 @@ ov_add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}) + add_library(openvino::npu_zero_utils ALIAS ${TARGET_NAME}) + set_target_properties(${TARGET_NAME} PROPERTIES EXPORT_NAME npu_zero_utils) + ++add_library(level-zero-headers INTERFACE) ++set_property(TARGET level-zero-headers APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $) ++add_library(LevelZero::Headers ALIAS level-zero-headers) ++ + target_include_directories(${TARGET_NAME} + PUBLIC +- $ ++ $ + $ + $) + +@@ -35,16 +39,5 @@ ov_developer_package_export_targets(TARGET openvino::npu_zero_utils + ov_developer_package_export_targets(TARGET level-zero-ext) + ov_install_static_lib(level-zero-ext ${NPU_PLUGIN_COMPONENT}) + +-if(TARGET ze_loader) +- ov_developer_package_export_targets(TARGET ze_loader) +- ov_install_static_lib(ze_loader ${NPU_PLUGIN_COMPONENT}) +- +- # TODO: remove once https://github.com/oneapi-src/level-zero/pull/243 is merged +- ov_developer_package_export_targets(TARGET utils) +- ov_install_static_lib(utils ${NPU_PLUGIN_COMPONENT}) +- +- # Support tests to run with ze_loader +- install(TARGETS ze_loader +- RUNTIME DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL +- LIBRARY DESTINATION tests COMPONENT tests EXCLUDE_FROM_ALL) +-endif() ++ov_developer_package_export_targets(TARGET level-zero-headers) ++ov_install_static_lib(level-zero-headers ${NPU_PLUGIN_COMPONENT}) \ No newline at end of file diff --git a/ports/openvino/portfile.cmake b/ports/openvino/portfile.cmake index 2f9d502f44b773..00b5f4b00326ec 100644 --- a/ports/openvino/portfile.cmake +++ b/ports/openvino/portfile.cmake @@ -2,14 +2,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openvinotoolkit/openvino REF "${VERSION}" - SHA512 2bf3f00589d825b7f4ca40d43129d81af4ba62382f98b283a3a206e7661a7a69f178c6afafdde646db8d68cb7fc54ec5280d2f4ff4fbbffe24082cf6649dda29 + SHA512 b003647de3de49e605943488ca9b2e5196b20d95b3152f0c2331c283d4cb253d1bbbb9cde04fa82733d3871d7128c6db6210957660bd89f26462798f782eca47 HEAD_REF master PATCHES # vcpkg specific patch, because OV creates a file in source tree, which is prohibited 001-disable-tools.patch - 002-fix-onnx.patch - 003-protobuf.patch - add-include-chrono.patch #https://github.com/openvinotoolkit/openvino/pull/27782 + 002-protobuf.patch # https://github.com/openvinotoolkit/openvino/pull/27510 + 003-snippets-templates.patch # https://github.com/openvinotoolkit/openvino/pull/28172 + 004-add-include-chrono.patch # https://github.com/openvinotoolkit/openvino/pull/28192 + 005-level-zero.patch # https://github.com/openvinotoolkit/openvino/pull/27633 + 006-level-zero-runtime.patch # https://github.com/openvinotoolkit/openvino/pull/27659 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -38,8 +40,8 @@ if(ENABLE_INTEL_GPU) vcpkg_from_github( OUT_SOURCE_PATH DEP_SOURCE_PATH REPO oneapi-src/oneDNN - REF 4ccd07e3a10e1c08075cf824ac14708245fbc334 - SHA512 c9a28f8427b5cd9c057a546b0b62303026f848045b26e0c9705e2f64d5bc84424ee15935d3bf5ee120d3c430a9dd41b7a6e26ef4fc0c53a2154ce83fcaee8b5a + REF 1722066ad4c0f15495f2d0fcbe9deb2bfd188c36 + SHA512 0b0461bf42d67f0fe7c6c61289a28e42915f7ac2ea5cc569957b8bb601962bec6135e84a2716911394952dffe2bb557c2d59d42c7f80a8db3c3937ecc6bd8ce8 ) file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_gpu/thirdparty/onednn_gpu") @@ -52,8 +54,8 @@ if(ENABLE_INTEL_CPU) vcpkg_from_github( OUT_SOURCE_PATH DEP_SOURCE_PATH REPO openvinotoolkit/oneDNN - REF c8ae8d96e963bd04214858319fa334968e5e73c9 - SHA512 6877ca37c3678e738fa94767b70432d3fff73305342164d0902875d9bcce3fe12abaf52bfc6ae0ef288532324e746b01e604ab7e47f198e7776352b8f5b6f009 + REF c60a9946aa2386890e5c9f5587974facb7624227 + SHA512 cc91f5b2ece1c3f14af308e3da436447d07964fa5ffa848c571fe67197a367673bf7bf9cd979fab0c9b216f92c611bd8df7018ec8e080f10759582629c10cb9d ) file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/onednn") @@ -76,31 +78,28 @@ if(ENABLE_INTEL_CPU) OUT_PYTHON_VAR OV_PYTHON_WITH_SCONS ) + list(APPEND FEATURE_OPTIONS "-DPython3_EXECUTABLE=${OV_PYTHON_WITH_SCONS}") + vcpkg_from_github( OUT_SOURCE_PATH DEP_SOURCE_PATH REPO ARM-software/ComputeLibrary - REF v24.08 - SHA512 82debaf8d8345b79b112afdabf6019c7ad8a9b30161d3061320a3da3040b2ad49153cc508caafe9fb1182c2669c958785acf2c361382080af273465d1727a71c + REF v24.09 + SHA512 c755da7d576b9bc1f33c9505efe4ce9e50cb927978f929d61f31b213904dca45ddb78b7c0cf9b215e37d2028e0404f4e3435678c120bba16263b55fd701eb4f1 ) file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/ComputeLibrary") endif() endif() if(ENABLE_INTEL_NPU) - list(APPEND FEATURE_OPTIONS "-DENABLE_INTEL_NPU_INTERNAL=OFF") - vcpkg_from_github( - OUT_SOURCE_PATH DEP_SOURCE_PATH - REPO oneapi-src/level-zero - REF v1.17.6 - SHA512 bb412e875d97d1c80a0e67087e6dac1a6ffb91fa50e22deb7649ee3250c0937679d225419b52bfd7938f71a66ac15742a6a215cee7714c27e0f935e04df5b88e - ) - file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_npu/thirdparty/level-zero") + list(APPEND FEATURE_OPTIONS + "-DENABLE_INTEL_NPU_INTERNAL=OFF" + "-DENABLE_SYSTEM_LEVEL_ZERO=ON") vcpkg_from_github( OUT_SOURCE_PATH DEP_SOURCE_PATH REPO intel/level-zero-npu-extensions - REF 16c85231a82ee1a0b06ed7ab7da3f411a0878ed7 - SHA512 983468c7706dc44cfc248c491cf51d2f69181c16ae1e400ca689df39c51112e03227c2f311173b1665115cdd33fa7d51d48e75adaf8353564a980b37c16aaa66 + REF 110f48ee8eda22d8b40daeeecdbbed0fc3b08f8b + SHA512 aaaeecad6c00489b652cd94d63ed0c1e59eb0eaed8b463198b40f1af3944004b072808ccc3074b71d825e9f0f37bf76fedf296961bb18959ef66a699b71fec41 ) file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_npu/thirdparty/level-zero-ext") endif() @@ -139,6 +138,7 @@ vcpkg_cmake_configure( "-DENABLE_SYSTEM_TBB=ON" "-DENABLE_TBBBIND_2_5=OFF" "-DENABLE_TEMPLATE=OFF" + "-DENABLE_OV_JAX_FRONTEND=OFF" "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) diff --git a/ports/openvino/vcpkg.json b/ports/openvino/vcpkg.json index d7341debe38b54..426b6e333de644 100644 --- a/ports/openvino/vcpkg.json +++ b/ports/openvino/vcpkg.json @@ -1,8 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "openvino", - "version": "2024.4.0", - "port-version": 5, + "version": "2024.5.0", "maintainers": "OpenVINO Developers ", "summary": "This is a port for Open Visual Inference And Optimization toolkit for AI inference", "description": [ @@ -37,7 +36,7 @@ { "name": "xbyak", "platform": "!(arm | uwp)", - "version>=": "6.69" + "version>=": "6.73" } ], "default-features": [ @@ -53,6 +52,10 @@ }, "hetero", "ir", + { + "name": "npu", + "platform": "x64 & !(osx | uwp)" + }, "onnx", "paddle", "pytorch", @@ -85,15 +88,18 @@ "description": "Enables IR frontend for reading models in OpenVINO IR format" }, "npu": { - "description": "NPU Support", - "supports": "x64 & !(osx | uwp) & !static" + "description": "Enables NPU plugin for inference", + "supports": "x64 & !(osx | uwp)", + "dependencies": [ + "level-zero" + ] }, "onnx": { "description": "Enables ONNX frontend for reading models in ONNX format", "dependencies": [ { "name": "onnx", - "version>=": "1.13.1" + "version>=": "1.16.2" }, { "name": "protobuf", diff --git a/versions/baseline.json b/versions/baseline.json index 4a976b0e093034..e9440cd714d036 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6777,8 +6777,8 @@ "port-version": 0 }, "openvino": { - "baseline": "2024.4.0", - "port-version": 5 + "baseline": "2024.5.0", + "port-version": 0 }, "openvpn3": { "baseline": "3.10", diff --git a/versions/o-/openvino.json b/versions/o-/openvino.json index e65183d15eaceb..8da070fecc88be 100644 --- a/versions/o-/openvino.json +++ b/versions/o-/openvino.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "83eba5bb3676d6a9dcdde96ea5cb8953ab66fa26", + "version": "2024.5.0", + "port-version": 0 + }, { "git-tree": "d3497e79615424c72514c072b5f7deb876f35718", "version": "2024.4.0",