forked from pool/openvino
I am sending this update at the request of the factory team, who asked to mention the .patch in the changelog file. - Remove NPU Compile Tool * openvino-remove-npu-compile-tool.patch - Update to 2024.3.0 - Summary of major features and improvements * More Gen AI coverage and framework integrations to minimize code changes + OpenVINO pre-optimized models are now available in Hugging Face making it easier for developers to get started with these models. * Broader Large Language Model (LLM) support and more model compression techniques. + Significant improvement in LLM performance on Intel discrete GPUs with the addition of Multi-Head Attention (MHA) and OneDNN enhancements. * More portability and performance to run AI at the edge, in the cloud, or locally. + Improved CPU performance when serving LLMs with the inclusion of vLLM and continuous batching in the OpenVINO Model Server (OVMS). vLLM is an easy-to-use open-source library that supports efficient LLM inferencing and model serving. - Support Change and Deprecation Notices * Using deprecated features and components is not advised. They are available to enable a smooth transition to new solutions and will be discontinued in the future. To keep using discontinued features, you will have to revert to the last LTS OpenVINO version supporting them. For more details, refer to the OpenVINO Legacy Features and Components page. * Discontinued in 2024.0: + Runtime components: - Intel® Gaussian & Neural Accelerator (Intel® GNA)..Consider using the Neural Processing Unit (NPU) for low-powered systems like Intel® Core™ Ultra or 14th generation and beyond. - OpenVINO C++/C/Python 1.0 APIs (see 2023.3 API transition guide for reference). - All ONNX Frontend legacy API (known as ONNX_IMPORTER_API) - 'PerfomanceMode.UNDEFINED' property as part of the OpenVINO Python API + Tools: - Deployment Manager. See installation and deployment guides for current distribution options. - Accuracy Checker. - Post-Training Optimization Tool (POT). Neural Network Compression Framework (NNCF) should be used instead. - A Git patch for NNCF integration with huggingface/ transformers. The recommended approach is to use huggingface/optimum-intel for applying NNCF optimization on top of models from Hugging Face. - Support for Apache MXNet, Caffe, and Kaldi model formats. Conversion to ONNX may be used as a solution. * Deprecated and to be removed in the future: + The OpenVINO™ Development Tools package (pip install openvino-dev) will be removed from installation options and distribution channels beginning with OpenVINO 2025.0. + Model Optimizer will be discontinued with OpenVINO 2025.0. Consider using the new conversion methods instead. For more details, see the model conversion transition guide. + OpenVINO property Affinity API will be discontinued with OpenVINO 2025.0. It will be replaced with CPU binding configurations (ov::hint::enable_cpu_pinning). + OpenVINO Model Server components: - “auto shape” and “auto batch size” (reshaping a model in runtime) will be removed in the future. OpenVINO’s dynamic shape models are recommended instead. + A number of notebooks have been deprecated. For an up-to-date listing of available notebooks, refer to the OpenVINO™ Notebook index (openvinotoolkit.github.io). - Add riscv-cpu-plugin subpackage - Update to 2024.2.0 - More Gen AI coverage and framework integrations to minimize code changes * Llama 3 optimizations for CPUs, built-in GPUs, and discrete GPUs for improved performance and efficient memory usage. * Support for Phi-3-mini, a family of AI models that leverages the power of small language models for faster, more accurate and cost-effective text processing. * Python Custom Operation is now enabled in OpenVINO making it easier for Python developers to code their custom operations instead of using C++ custom operations (also supported). Python Custom Operation empowers users to implement their own specialized operations into any model. * Notebooks expansion to ensure better coverage for new models. Noteworthy notebooks added: DynamiCrafter, YOLOv10, Chatbot notebook with Phi-3, and QWEN2. - Broader Large Language Model (LLM) support and more model compression techniques. * GPTQ method for 4-bit weight compression added to NNCF for more efficient inference and improved performance of compressed LLMs. * Significant LLM performance improvements and reduced latency for both built-in GPUs and discrete GPUs. * Significant improvement in 2nd token latency and memory footprint of FP16 weight LLMs on AVX2 (13th Gen Intel® Core™ processors) and AVX512 (3rd Gen Intel® Xeon® Scalable Processors) based CPU platforms, particularly for small batch sizes. - More portability and performance to run AI at the edge, in the cloud, or locally. * Model Serving Enhancements: * Preview: OpenVINO Model Server (OVMS) now supports OpenAI-compatible API along with Continuous Batching and PagedAttention, enabling significantly higher throughput for parallel inferencing, especially on Intel® Xeon® processors, when serving LLMs to many concurrent users. * OpenVINO backend for Triton Server now supports built-in GPUs and discrete GPUs, in addition to dynamic shapes support. * Integration of TorchServe through torch.compile OpenVINO backend for easy model deployment, provisioning to multiple instances, model versioning, and maintenance. * Preview: addition of the Generate API, a simplified API for text generation using large language models with only a few lines of code. The API is available through the newly launched OpenVINO GenAI package. * Support for Intel Atom® Processor X Series. For more details, see System Requirements. * Preview: Support for Intel® Xeon® 6 processor. - Support Change and Deprecation Notices * Using deprecated features and components is not advised. They are available to enable a smooth transition to new solutions and will be discontinued in the future. To keep using discontinued features, you will have to revert to the last LTS OpenVINO version supporting them. For more details, refer to the OpenVINO Legacy Features and Components page. * Discontinued in 2024.0: + Runtime components: - Intel® Gaussian & Neural Accelerator (Intel® GNA). Consider using the Neural Processing Unit (NPU) for low-powered systems like Intel® Core™ Ultra or 14th generation and beyond. - OpenVINO C++/C/Python 1.0 APIs (see 2023.3 API transition guide for reference). - All ONNX Frontend legacy API (known as ONNX_IMPORTER_API) - 'PerfomanceMode.UNDEFINED' property as part of the OpenVINO Python API + Tools: - Deployment Manager. See installation and deployment guides for current distribution options. - Accuracy Checker. - Post-Training Optimization Tool (POT). Neural Network Compression Framework (NNCF) should be used instead. - A Git patch for NNCF integration with huggingface/transformers. The recommended approach is to use huggingface/optimum-intel for applying NNCF optimization on top of models from Hugging Face. - Support for Apache MXNet, Caffe, and Kaldi model formats. Conversion to ONNX may be used as a solution. * Deprecated and to be removed in the future: + The OpenVINO™ Development Tools package (pip install openvino-dev) will be removed from installation options and distribution channels beginning with OpenVINO 2025.0. + Model Optimizer will be discontinued with OpenVINO 2025.0. Consider using the new conversion methods instead. For more details, see the model conversion transition guide. + OpenVINO property Affinity API will be discontinued with OpenVINO 2025.0. It will be replaced with CPU binding configurations (ov::hint::enable_cpu_pinning). + OpenVINO Model Server components: + “auto shape” and “auto batch size” (reshaping a model in runtime) will be removed in the future. OpenVINO’s dynamic shape models are recommended instead. + A number of notebooks have been deprecated. For an up-to-date listing of available notebooks, refer to the OpenVINO™ Notebook index (openvinotoolkit.github.io). - Fix sample source path in build script: * openvino-fix-build-sample-path.patch - Update to 2024.1.0 - More Generative AI coverage and framework integrations to minimize code changes. * Mixtral and URLNet models optimized for performance improvements on Intel® Xeon® processors. * Stable Diffusion 1.5, ChatGLM3-6B, and Qwen-7B models optimized for improved inference speed on Intel® Core™ Ultra processors with integrated GPU. * Support for Falcon-7B-Instruct, a GenAI Large Language Model (LLM) ready-to-use chat/instruct model with superior performance metrics. * New Jupyter Notebooks added: YOLO V9, YOLO V8 Oriented Bounding Boxes Detection (OOB), Stable Diffusion in Keras, MobileCLIP, RMBG-v1.4 Background Removal, Magika, TripoSR, AnimateAnyone, LLaVA-Next, and RAG system with OpenVINO and LangChain. - Broader Large Language Model (LLM) support and more model compression techniques. * LLM compilation time reduced through additional optimizations with compressed embedding. Improved 1st token performance of LLMs on 4th and 5th generations of Intel® Xeon® processors with Intel® Advanced Matrix Extensions (Intel® AMX). * Better LLM compression and improved performance with oneDNN, INT4, and INT8 support for Intel® Arc™ GPUs. * Significant memory reduction for select smaller GenAI models on Intel® Core™ Ultra processors with integrated GPU. - More portability and performance to run AI at the edge, in the cloud, or locally. * The preview NPU plugin for Intel® Core™ Ultra processors is now available in the OpenVINO open-source GitHub repository, in addition to the main OpenVINO package on PyPI. * The JavaScript API is now more easily accessible through the npm repository, enabling JavaScript developers’ seamless access to the OpenVINO API. * FP16 inference on ARM processors now enabled for the Convolutional Neural Network (CNN) by default. - Support Change and Deprecation Notices * Using deprecated features and components is not advised. They are available to enable a smooth transition to new solutions and will be discontinued in the future. To keep using Discontinued features, you will have to revert to the last LTS OpenVINO version supporting them. * For more details, refer to the OpenVINO Legacy Features and Components page. * Discontinued in 2024.0: + Runtime components: - Intel® Gaussian & Neural Accelerator (Intel® GNA). Consider using the Neural Processing Unit (NPU) for low-powered systems like Intel® Core™ Ultra or 14th generation and beyond. - OpenVINO C++/C/Python 1.0 APIs (see 2023.3 API transition guide for reference). - All ONNX Frontend legacy API (known as ONNX_IMPORTER_API) - 'PerfomanceMode.UNDEFINED' property as part of the OpenVINO Python API + Tools: - Deployment Manager. See installation and deployment guides for current distribution options. - Accuracy Checker. - Post-Training Optimization Tool (POT). Neural Network Compression Framework (NNCF) should be used instead. - A Git patch for NNCF integration with huggingface/transformers. The recommended approach is to use huggingface/optimum-intel for applying NNCF optimization on top of models from Hugging Face. - Support for Apache MXNet, Caffe, and Kaldi model formats. Conversion to ONNX may be used as a solution. * Deprecated and to be removed in the future: + The OpenVINO™ Development Tools package (pip install openvino-dev) will be removed from installation options and distribution channels beginning with OpenVINO 2025.0. + Model Optimizer will be discontinued with OpenVINO 2025.0. Consider using the new conversion methods instead. For more details, see the model conversion transition guide. + OpenVINO property Affinity API will be discontinued with OpenVINO 2025.0. It will be replaced with CPU binding configurations (ov::hint::enable_cpu_pinning). + OpenVINO Model Server components: - “auto shape” and “auto batch size” (reshaping a model in runtime) will be removed in the future. OpenVINO’s dynamic shape models are recommended instead. - License update: play safe and list all third party licenses as part of the License tag. - Switch to _service file as tagged Source tarball does not include `./thirdparty` submodules. - Update openvino-fix-install-paths.patch to fix python module install path. - Enable python module and split it out into a python subpackage (for now default python3 only). - Explicitly build python metadata (dist-info) and install it (needs simple sed hackery to support "officially" unsupported platform ppc64le). - Specify ENABLE_JS=OFF to turn off javascript bindings as building these requires downloading npm stuff from the network. - Build with system pybind11. - Bump _constraints for updated disk space requirements. - Drop empty %check section, rpmlint was misleading when it recommended adding this. - Numerous specfile cleanups: * Drop redundant `mv` commands and use `install` where appropriate. * Build with system protobuf. * Fix Summary tags. * Trim package descriptions. * Drop forcing CMAKE_BUILD_TYPE=Release, let macro default RelWithDebInfo be used instead. * Correct naming of shared library packages. * Separate out libopenvino_c.so.* into own shared lib package. * Drop rpmlintrc rule used to hide shlib naming mistakes. * Rename Source tarball to %{name}-%{version}.EXT pattern. * Use ldconfig_scriptlet macro for post(un). - Add openvino-onnx-ml-defines.patch -- Define ONNX_ML at compile time when using system onnx to allow using 'onnx-ml.pb.h' instead of 'onnx.pb.h', the latter not being shipped with openSUSE's onnx-devel package (gh#onnx/onnx#3074). - Add openvino-fix-install-paths.patch: Change hard-coded install paths in upstream cmake macro to standard Linux dirs. - Add openvino-ComputeLibrary-include-string.patch: Include header for std::string. - Add external devel packages as Requires for openvino-devel. - Pass -Wl,-z,noexecstack to %build_ldflags to avoid an exec stack issue with intel CPU plugin. - Use ninja for build. - Adapt _constraits file for correct disk space and memory requirements. - Add empty %check section. - Initial package - Version 2024.0.0 - Add openvino-rpmlintrc. OBS-URL: https://build.opensuse.org/package/show/science:machinelearning/openvino?expand=0&rev=14
479 lines
15 KiB
RPMSpec
479 lines
15 KiB
RPMSpec
#
|
|
# spec file for package openvino
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
# Copyright (c) 2024 Alessandro de Oliveira Faria (A.K.A. CABELO) <cabelo@opensuse.org> or <alessandro.faria@owasp.org>
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
# Note: Will not build on Leap:15.X on account of too old TBB
|
|
# Compilation takes ~1 hr on OBS for a single python, don't try all supported flavours
|
|
%define pythons python3
|
|
%define __builder ninja
|
|
%define so_ver 2430
|
|
%define shlib lib%{name}%{so_ver}
|
|
%define shlib_c lib%{name}_c%{so_ver}
|
|
%define prj_name OpenVINO
|
|
|
|
Name: openvino
|
|
Version: 2024.3.0
|
|
Release: 0
|
|
Summary: A toolkit for optimizing and deploying AI inference
|
|
# Let's be safe and put all third party licenses here, no matter that we use specific thirdparty libs or not
|
|
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND HPND AND JSON AND MIT AND OFL-1.1 AND Zlib
|
|
URL: https://github.com/openvinotoolkit/openvino
|
|
Source0: %{name}-%{version}.tar.zst
|
|
Source1: %{name}-rpmlintrc
|
|
# PATCH-FEATURE-OPENSUSE openvino-onnx-ml-defines.patch badshah400@gmail.com -- Define ONNX_ML at compile time when using system onnx to allow using 'onnx-ml.pb.h' instead of 'onnx.pb.h', the latter not being shipped with openSUSE's onnx-devel package
|
|
Patch0: openvino-onnx-ml-defines.patch
|
|
# PATCH-FEATURE-OPENSUSE openvino-fix-install-paths.patch badshah400@gmail.com -- Fix installation paths hardcoded into upstream defined cmake macros
|
|
Patch2: openvino-fix-install-paths.patch
|
|
# PATCH-FIX-UPSTREAM openvino-ComputeLibrary-include-string.patch badshah400@gmail.com -- Include header for std::string
|
|
Patch3: openvino-ComputeLibrary-include-string.patch
|
|
# PATCH-FIX-UPSTREAM openvino-fix-build-sample-path.patch cabelo@opensuse.org -- Fix sample source path in build script
|
|
Patch4: openvino-fix-build-sample-path.patch
|
|
# PATCH-FIX-UPSTREAM openvino-remove-npu-compile-tool.patch cabelo@opensuse.org -- Remove NPU Compile Tool
|
|
Patch5: openvino-remove-npu-compile-tool.patch
|
|
|
|
BuildRequires: ade-devel
|
|
BuildRequires: cmake
|
|
BuildRequires: fdupes
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: ninja
|
|
BuildRequires: opencl-cpp-headers
|
|
# FIXME: /usr/include/onnx/onnx-ml.pb.h:17:2: error: This file was generated by
|
|
# an older version of protoc which is incompatible with your Protocol Buffer
|
|
# headers. Please regenerate this file with a newer version of protoc.
|
|
#BuildRequires: cmake(ONNX)
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: %{python_module devel}
|
|
BuildRequires: %{python_module pip}
|
|
BuildRequires: %{python_module pybind11-devel}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: %{python_module wheel}
|
|
BuildRequires: python-rpm-macros
|
|
BuildRequires: zstd
|
|
BuildRequires: pkgconfig(OpenCL-Headers)
|
|
BuildRequires: pkgconfig(flatbuffers)
|
|
BuildRequires: pkgconfig(libva)
|
|
BuildRequires: pkgconfig(nlohmann_json)
|
|
BuildRequires: pkgconfig(ocl-icd)
|
|
BuildRequires: pkgconfig(protobuf)
|
|
BuildRequires: pkgconfig(pugixml)
|
|
BuildRequires: pkgconfig(snappy)
|
|
BuildRequires: pkgconfig(tbb)
|
|
BuildRequires: pkgconfig(zlib)
|
|
%ifarch %{arm64}
|
|
BuildRequires: scons
|
|
%endif
|
|
# No 32-bit support
|
|
ExcludeArch: %{ix86} %{arm32} ppc
|
|
%define python_subpackage_only 1
|
|
%python_subpackages
|
|
|
|
%description
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
|
|
|
|
## Main shared libs and devel pkg ##
|
|
#
|
|
%package -n %{shlib}
|
|
Summary: Shared library for OpenVINO toolkit
|
|
|
|
%description -n %{shlib}
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the shared library for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n %{shlib_c}
|
|
Summary: Shared C library for OpenVINO toolkit
|
|
|
|
%description -n %{shlib_c}
|
|
This package provides the C library for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n %{name}-devel
|
|
Summary: Headers and sources for OpenVINO toolkit
|
|
Requires: %{shlib_c} = %{version}
|
|
Requires: %{shlib} = %{version}
|
|
Requires: lib%{name}_ir_frontend%{so_ver} = %{version}
|
|
Requires: lib%{name}_onnx_frontend%{so_ver} = %{version}
|
|
Requires: lib%{name}_paddle_frontend%{so_ver} = %{version}
|
|
Requires: lib%{name}_pytorch_frontend%{so_ver} = %{version}
|
|
Requires: lib%{name}_tensorflow_frontend%{so_ver} = %{version}
|
|
Requires: lib%{name}_tensorflow_lite_frontend%{so_ver} = %{version}
|
|
Requires: pkgconfig(OpenCL-Headers)
|
|
Requires: pkgconfig(flatbuffers)
|
|
Requires: pkgconfig(libva)
|
|
Requires: pkgconfig(nlohmann_json)
|
|
Requires: pkgconfig(ocl-icd)
|
|
Requires: pkgconfig(protobuf)
|
|
Requires: pkgconfig(pugixml)
|
|
Requires: pkgconfig(snappy)
|
|
Requires: pkgconfig(tbb)
|
|
Recommends: %{name}-auto-batch-plugin = %{version}
|
|
Recommends: %{name}-auto-plugin = %{version}
|
|
Recommends: %{name}-hetero-plugin = %{version}
|
|
Recommends: %{name}-intel-cpu-plugin = %{version}
|
|
%ifarch riscv64
|
|
Recommends: %{name}-riscv-cpu-plugin = %{version}
|
|
%endif
|
|
|
|
%description -n %{name}-devel
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the headers and sources for developing applications with
|
|
OpenVINO.
|
|
|
|
|
|
|
|
## Plugins ##
|
|
#
|
|
%package -n %{name}-arm-cpu-plugin
|
|
Summary: Intel CPU plugin for OpenVINO toolkit
|
|
|
|
%description -n %{name}-arm-cpu-plugin
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the ARM CPU plugin for OpenVINO on %{arm64} archs.
|
|
|
|
|
|
#
|
|
|
|
%package -n %{name}-riscv-cpu-plugin
|
|
Summary: RISC-V CPU plugin for OpenVINO toolkit
|
|
|
|
%description -n %{name}-riscv-cpu-plugin
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the RISC-V CPU plugin for OpenVINO on riscv64 archs.
|
|
|
|
|
|
#
|
|
|
|
%package -n %{name}-auto-plugin
|
|
Summary: Auto / Multi software plugin for OpenVINO toolkit
|
|
|
|
%description -n %{name}-auto-plugin
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the Auto / Multi software plugin for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n %{name}-auto-batch-plugin
|
|
Summary: Automatic batch software plugin for OpenVINO toolkit
|
|
|
|
%description -n %{name}-auto-batch-plugin
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the automatic batch software plugin for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n %{name}-hetero-plugin
|
|
Summary: Hetero frontend for Intel OpenVINO toolkit
|
|
|
|
%description -n %{name}-hetero-plugin
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the hetero frontend for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n %{name}-intel-cpu-plugin
|
|
Summary: Intel CPU plugin for OpenVINO toolkit
|
|
|
|
%description -n %{name}-intel-cpu-plugin
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the intel CPU plugin for OpenVINO for %{x86_64} archs.
|
|
|
|
|
|
|
|
#
|
|
%package -n %{name}-intel-npu-plugin
|
|
Summary: Intel NPU plugin for OpenVINO toolkit
|
|
|
|
%description -n %{name}-intel-npu-plugin
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the intel NPU plugin for OpenVINO for %{x86_64} archs.
|
|
|
|
|
|
|
|
|
|
## Frontend shared libs ##
|
|
#
|
|
%package -n lib%{name}_ir_frontend%{so_ver}
|
|
Summary: Paddle frontend for Intel OpenVINO toolkit
|
|
|
|
%description -n lib%{name}_ir_frontend%{so_ver}
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the ir frontend for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n lib%{name}_onnx_frontend%{so_ver}
|
|
Summary: Onnx frontend for OpenVINO toolkit
|
|
|
|
%description -n lib%{name}_onnx_frontend%{so_ver}
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the onnx frontend for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n lib%{name}_paddle_frontend%{so_ver}
|
|
Summary: Paddle frontend for Intel OpenVINO toolkit
|
|
|
|
%description -n lib%{name}_paddle_frontend%{so_ver}
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the paddle frontend for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n lib%{name}_pytorch_frontend%{so_ver}
|
|
Summary: PyTorch frontend for OpenVINO toolkit
|
|
|
|
%description -n lib%{name}_pytorch_frontend%{so_ver}
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the pytorch frontend for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n lib%{name}_tensorflow_frontend%{so_ver}
|
|
Summary: TensorFlow frontend for OpenVINO toolkit
|
|
|
|
%description -n lib%{name}_tensorflow_frontend%{so_ver}
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the tensorflow frontend for OpenVINO.
|
|
|
|
|
|
|
|
#
|
|
%package -n lib%{name}_tensorflow_lite_frontend%{so_ver}
|
|
Summary: TensorFlow Lite frontend for OpenVINO toolkit
|
|
|
|
%description -n lib%{name}_tensorflow_lite_frontend%{so_ver}
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides the tensorflow-lite frontend for OpenVINO.
|
|
|
|
|
|
|
|
## Python module ##
|
|
#
|
|
%package -n python-openvino
|
|
Summary: Python module for openVINO toolkit
|
|
Requires: python-numpy < 2
|
|
Requires: python-openvino-telemetry
|
|
|
|
%description -n python-openvino
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides a Python module for interfacing with openVINO toolkit.
|
|
|
|
|
|
|
|
## Samples/examples ##
|
|
#
|
|
%package -n %{name}-sample
|
|
Summary: Samples for use with OpenVINO toolkit
|
|
BuildArch: noarch
|
|
|
|
%description -n %{name}-sample
|
|
OpenVINO is an open-source toolkit for optimizing and deploying AI inference.
|
|
|
|
This package provides some samples for use with openVINO.
|
|
|
|
|
|
#
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
%build
|
|
# Otherwise intel_cpu plugin declares an executable stack
|
|
%ifarch %{x86_64}
|
|
%define build_ldflags -Wl,-z,noexecstack
|
|
%endif
|
|
%cmake \
|
|
-DCMAKE_CXX_STANDARD=17 \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DENABLE_OV_ONNX_FRONTEND=ON \
|
|
-DENABLE_OV_PADDLE_FRONTEND=ON \
|
|
-DENABLE_OV_PYTORCH_FRONTEND=ON \
|
|
-DENABLE_OV_IR_FRONTEND=ON \
|
|
-DENABLE_OV_TF_FRONTEND=ON \
|
|
-DENABLE_OV_TF_LITE_FRONTEND=ON \
|
|
-DENABLE_INTEL_GPU=OFF \
|
|
-DENABLE_JS=OFF \
|
|
-DENABLE_PYTHON=ON \
|
|
-DENABLE_WHEEL=OFF \
|
|
-DENABLE_SYSTEM_OPENCL=ON \
|
|
-DENABLE_SYSTEM_PROTOBUF=ON \
|
|
-DENABLE_SYSTEM_PUGIXML=ON \
|
|
-DENABLE_SYSTEM_SNAPPY=ON \
|
|
-DENABLE_SYSTEM_TBB=ON \
|
|
-DONNX_USE_PROTOBUF_SHARED_LIBS=ON \
|
|
-DProtobuf_USE_STATIC_LIBS=OFF \
|
|
%{nil}
|
|
%cmake_build
|
|
# Manually generate dist-info dir
|
|
export WHEEL_VERSION=%{version} \
|
|
BUILD_TYPE=RelWithDebInfo
|
|
%ifarch %{power64}
|
|
|
|
# RelWithDebInfo
|
|
# Manual hackery for power64 because it not "officially" supported
|
|
sed -i "s/{ARCH}/%{_arch}/" ../src/bindings/python/wheel/setup.py
|
|
%endif
|
|
%python_exec ../src/bindings/python/wheel/setup.py dist_info -o ../
|
|
|
|
%install
|
|
%cmake_install
|
|
|
|
rm %{buildroot}%{_datadir}/%{prj_name}/samples/cpp/thirdparty/nlohmann_json/.cirrus.yml
|
|
|
|
# Hash-bangs in non-exec python sample scripts
|
|
sed -Ei "1{\@/usr/bin/env@d}" \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/benchmark/bert_benchmark/bert_benchmark.py \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/benchmark/sync_benchmark/sync_benchmark.py \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/benchmark/throughput_benchmark/throughput_benchmark.py \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/classification_sample_async/classification_sample_async.py \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/hello_classification/hello_classification.py \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/hello_query_device/hello_query_device.py \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/hello_reshape_ssd/hello_reshape_ssd.py \
|
|
%{buildroot}%{_datadir}/%{prj_name}/samples/python/model_creation_sample/model_creation_sample.py
|
|
|
|
# Unnecessary if we get our package dependencies and lib paths right!
|
|
rm -fr %{buildroot}%{_prefix}/install_dependencies \
|
|
%{buildroot}%{_prefix}/setupvars.sh
|
|
|
|
%{python_expand rm %{buildroot}%{$python_sitearch}/requirements.txt
|
|
chmod -x %{buildroot}%{$python_sitearch}/%{name}/tools/ovc/ovc.py
|
|
cp -r %{name}-%{version}.dist-info %{buildroot}%{$python_sitearch}/
|
|
%fdupes %{buildroot}%{$python_sitearch}/%{name}/
|
|
}
|
|
|
|
%fdupes %{buildroot}%{_datadir}/
|
|
|
|
# We do not use bundled thirdparty libs
|
|
rm -fr %{buildroot}%{_datadir}/licenses/*
|
|
|
|
%ldconfig_scriptlets -n %{shlib}
|
|
%ldconfig_scriptlets -n %{shlib_c}
|
|
%ldconfig_scriptlets -n lib%{name}_ir_frontend%{so_ver}
|
|
%ldconfig_scriptlets -n lib%{name}_onnx_frontend%{so_ver}
|
|
%ldconfig_scriptlets -n lib%{name}_paddle_frontend%{so_ver}
|
|
%ldconfig_scriptlets -n lib%{name}_pytorch_frontend%{so_ver}
|
|
%ldconfig_scriptlets -n lib%{name}_tensorflow_lite_frontend%{so_ver}
|
|
%ldconfig_scriptlets -n lib%{name}_tensorflow_frontend%{so_ver}
|
|
|
|
%files -n %{shlib}
|
|
%license LICENSE
|
|
%{_libdir}/libopenvino.so.*
|
|
|
|
%files -n %{shlib_c}
|
|
%license LICENSE
|
|
%{_libdir}/libopenvino_c.so.*
|
|
|
|
%files -n %{name}-auto-batch-plugin
|
|
%dir %{_libdir}/%{prj_name}
|
|
%{_libdir}/%{prj_name}/libopenvino_auto_batch_plugin.so
|
|
|
|
%files -n %{name}-auto-plugin
|
|
%dir %{_libdir}/%{prj_name}
|
|
%{_libdir}/%{prj_name}/libopenvino_auto_plugin.so
|
|
|
|
%ifarch %{x86_64}
|
|
%files -n %{name}-intel-cpu-plugin
|
|
%dir %{_libdir}/%{prj_name}
|
|
%{_libdir}/%{prj_name}/libopenvino_intel_cpu_plugin.so
|
|
|
|
%files -n %{name}-intel-npu-plugin
|
|
%dir %{_libdir}/%{prj_name}
|
|
%{_libdir}/%{prj_name}/libopenvino_intel_npu_plugin.so
|
|
%endif
|
|
|
|
%ifarch %{arm64}
|
|
%files -n %{name}-arm-cpu-plugin
|
|
%dir %{_libdir}/%{prj_name}
|
|
%{_libdir}/%{prj_name}/libopenvino_arm_cpu_plugin.so
|
|
%endif
|
|
|
|
%ifarch riscv64
|
|
%files -n %{name}-riscv-cpu-plugin
|
|
%dir %{_libdir}/%{prj_name}
|
|
%{_libdir}/%{prj_name}/libopenvino_riscv_cpu_plugin.so
|
|
%endif
|
|
|
|
%files -n %{name}-hetero-plugin
|
|
%dir %{_libdir}/%{prj_name}
|
|
%{_libdir}/%{prj_name}/libopenvino_hetero_plugin.so
|
|
|
|
%files -n lib%{name}_onnx_frontend%{so_ver}
|
|
%{_libdir}/libopenvino_onnx_frontend.so.*
|
|
|
|
%files -n lib%{name}_ir_frontend%{so_ver}
|
|
%{_libdir}/libopenvino_ir_frontend.so.*
|
|
|
|
%files -n lib%{name}_paddle_frontend%{so_ver}
|
|
%{_libdir}/libopenvino_paddle_frontend.so.*
|
|
|
|
%files -n lib%{name}_pytorch_frontend%{so_ver}
|
|
%{_libdir}/libopenvino_pytorch_frontend.so.*
|
|
|
|
%files -n lib%{name}_tensorflow_frontend%{so_ver}
|
|
%{_libdir}/libopenvino_tensorflow_frontend.so.*
|
|
|
|
%files -n lib%{name}_tensorflow_lite_frontend%{so_ver}
|
|
%{_libdir}/libopenvino_tensorflow_lite_frontend.so.*
|
|
|
|
%files -n %{name}-sample
|
|
%license LICENSE
|
|
%{_datadir}/%{prj_name}/
|
|
|
|
%files -n %{name}-devel
|
|
%license LICENSE
|
|
%{_includedir}/%{name}/
|
|
%{_libdir}/cmake/%{prj_name}/
|
|
%{_libdir}/*.so
|
|
%{_libdir}/pkgconfig/openvino.pc
|
|
|
|
%files %{python_files openvino}
|
|
%license LICENSE
|
|
%{python_sitearch}/openvino/
|
|
%{python_sitearch}/openvino*-info/
|
|
|
|
%changelog
|