Skip to content

Commit

Permalink
Merge branch 'master' into an/new_deconv_slt
Browse files Browse the repository at this point in the history
  • Loading branch information
allnes authored Dec 21, 2023
2 parents bc022e0 + 71fca88 commit c3a1ea5
Show file tree
Hide file tree
Showing 498 changed files with 1,171 additions and 5,197 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/linux_arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@v4
Expand All @@ -36,6 +37,8 @@ jobs:
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg'

- name: Show affected components
run: |
Expand Down Expand Up @@ -69,7 +72,7 @@ jobs:
BUILD_DIR: /__w/openvino/openvino/openvino_build
SCCACHE_AZURE_KEY_PREFIX: 'ubuntu20_aarch64_Release'
ONNX_RUNTIME_UTILS: /__w/openvino/openvino/openvino/.ci/azure/ci_utils/onnxruntime
if: "!fromJSON(needs.smart_ci.outputs.affected_components).docs_only"
if: "!needs.smart_ci.outputs.skip_workflow"

steps:
- name: Install git
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<img src="docs/img/openvino-logo-purple-black.png" width="400px">
<img src="docs/sphinx_setup/_static/images/img/openvino-logo-purple-black.png" width="400px">

[![PyPI Status](https://badge.fury.io/py/openvino.svg)](https://badge.fury.io/py/openvino)
[![Anaconda Status](https://anaconda.org/conda-forge/openvino/badges/version.svg)](https://anaconda.org/conda-forge/openvino)
Expand Down
1 change: 0 additions & 1 deletion cmake/developer_package/packaging/archive.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ macro(ov_define_component_include_rules)
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
# scripts
unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
Expand Down
1 change: 0 additions & 1 deletion cmake/developer_package/packaging/common-libraries.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ macro(ov_define_component_include_rules)
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
Expand Down
1 change: 0 additions & 1 deletion cmake/developer_package/packaging/debian/debian.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ macro(ov_define_component_include_rules)
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
Expand Down
1 change: 0 additions & 1 deletion cmake/developer_package/packaging/npm.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ macro(ov_define_component_include_rules)
unset(OV_CPACK_COMP_NPM_EXCLUDE_ALL)
# tools
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
Expand Down
1 change: 0 additions & 1 deletion cmake/developer_package/packaging/nsis.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ macro(ov_define_component_include_rules)
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
unset(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
# scripts
unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
Expand Down
1 change: 0 additions & 1 deletion cmake/developer_package/packaging/packaging.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,6 @@ macro(ov_define_component_names)
set(OV_CPACK_COMP_NPM "ov_node_addon")
# tools
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "openvino_dev_req_files")
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER "deployment_manager")
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES "install_dependencies")
set(OV_CPACK_COMP_SETUPVARS "setupvars")
Expand Down
3 changes: 1 addition & 2 deletions cmake/developer_package/packaging/rpm/rpm.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ ov_override_component_names()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. rpm packages don't require setupvars scripts or deployment_manager)
# (e.g. rpm packages don't require setupvars scripts or others)
#

macro(ov_define_component_include_rules)
Expand Down Expand Up @@ -101,7 +101,6 @@ macro(ov_define_component_include_rules)
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
Expand Down
14 changes: 0 additions & 14 deletions cmake/developer_package/version.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -82,33 +82,19 @@ macro(ov_parse_ci_build_number repo_root)
return()
endif()

set(ie_version_hpp "${OpenVINO_SOURCE_DIR}/src/inference/include/ie/ie_version.hpp")
if(NOT EXISTS ${ie_version_hpp})
message(FATAL_ERROR "File ie_version.hpp with IE_VERSION definitions is not found")
endif()

set(ov_version_hpp "${OpenVINO_SOURCE_DIR}/src/core/include/openvino/core/version.hpp")
if(NOT EXISTS ${ov_version_hpp})
message(FATAL_ERROR "File openvino/core/version.hpp with OPENVINO_VERSION definitions is not found")
endif()

file(STRINGS "${ie_version_hpp}" IE_VERSION_PARTS REGEX "#define IE_VERSION_[A-Z]+[ ]+" )
file(STRINGS "${ov_version_hpp}" OV_VERSION_PARTS REGEX "#define OPENVINO_VERSION_[A-Z]+[ ]+" )

foreach(suffix MAJOR MINOR PATCH)
set(ie_version_name "IE_VERSION_${suffix}")
set(ov_version_name "OpenVINO_VERSION_${suffix}")
set(ov_version_name_hpp "OPENVINO_VERSION_${suffix}")

string(REGEX REPLACE ".+${ie_version_name}[ ]+([0-9]+).*" "\\1"
${ie_version_name}_HPP "${IE_VERSION_PARTS}")
string(REGEX REPLACE ".+${ov_version_name_hpp}[ ]+([0-9]+).*" "\\1"
${ov_version_name}_HPP "${OV_VERSION_PARTS}")

if(NOT ${ie_version_name}_HPP EQUAL ${ov_version_name}_HPP)
message(FATAL_ERROR "${ov_version_name} (${${ov_version_name}_HPP})"
" and ${ie_version_name} (${${ie_version_name}_HPP}) are not equal")
endif()
endforeach()

foreach(var OpenVINO_VERSION_MAJOR OpenVINO_VERSION_MINOR OpenVINO_VERSION_PATCH)
Expand Down
1 change: 1 addition & 0 deletions cmake/packaging/debian.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ macro(ov_cpack_settings)
2023.0.0 2023.0.1 2023.0.2 2023.0.3
2023.1.0
2023.2.0
2023.3.0 2023.3.1 2023.3.2 2023.3.3 2023.3.4 2023.3.5
)

#
Expand Down
1 change: 1 addition & 0 deletions cmake/packaging/rpm.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ macro(ov_cpack_settings)
2023.0.0 2023.0.1 2023.0.2 2023.0.3
2023.1.0
2023.2.0
2023.3.0 2023.3.1 2023.3.2 2023.3.3 2023.3.4 2023.3.5
)

find_host_program(rpmlint_PROGRAM NAMES rpmlint DOC "Path to rpmlint")
Expand Down
Binary file removed docs/_static/images/ci/check_results.png
Binary file not shown.
Binary file removed docs/_static/images/ci/completed_job_list.png
Binary file not shown.
Binary file removed docs/_static/images/ci/pipeline_artefacts.png
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,4 @@ Additional Resources
- Z. Chen, G. Li, and K. Pittabiraman, "A Low-cost Fault Corrector for Deep Neural Networks through Range Restriction", 2020. https://arxiv.org/abs/2003.13874
- F. Geissler, Q. Syed, S. Roychowdhury, A. Asgari, Y. Peng, A. Dhamasia, R. Graefe, K. Pattabiraman, and M. Paulitsch, "Towards a Safety Case for Hardware Fault Tolerance in Convolutional Neural Networks Using Activation Range Supervision", 2021. https://arxiv.org/abs/2108.07019

@endsphinxdirective

Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Make sure you use the most recent supported driver for your hardware setup.

The Intel® NPU driver for Windows is available through Windows Update but
it may also be installed manually by downloading the
`NPU driver package <https://www.intel.com/content/www/us/en/download-center/home.html>`__ and following the
`NPU driver package <https://www.intel.com/content/www/us/en/download/794734/intel-npu-driver-windows.html>`__ and following the
`Windows driver installation guide <https://support.microsoft.com/en-us/windows/update-drivers-manually-in-windows-ec62f46c-ff14-c91d-eead-d7126dc1f7b6>`__.

If a driver has already been installed you should be able to find
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Performance Hints: Latency and Throughput

As discussed in the :doc:`Optimization Guide <openvino_docs_deployment_optimization_guide_dldt_optimization_guide>` there are a few different metrics associated with inference speed. Throughput and latency are some of the most widely used metrics that measure the overall performance of an application.

Therefore, in order to ease the configuration of the device, OpenVINO offers two dedicated hints, namely ``ov::hint::PerformanceMode::THROUGHPUT`` and ``ov::hint::PerformanceMode::LATENCY``. A special ``ov::hint::PerformanceMode::UNDEFINED`` hint acts the same as specifying no hint.
Therefore, in order to ease the configuration of the device, OpenVINO offers two dedicated hints, namely ``ov::hint::PerformanceMode::THROUGHPUT`` and ``ov::hint::PerformanceMode::LATENCY``.

For more information on conducting performance measurements with the ``benchmark_app``, refer to the last section in this document.

Expand Down
1 change: 1 addition & 0 deletions docs/dev/ci/github_actions/custom_actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ You can find all the custom actions and their source code [here](../../../../.gi

* Setup Python
* System Info Print
* Smart CI (see details: [feature documentation](./smart_ci.md))
16 changes: 11 additions & 5 deletions docs/dev/ci/github_actions/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Welcome to the OpenVINO Developer guide on the GitHub Actions infrastructure. Th
* [Docker images overview](#docker-images)
* [Caches overview](#caches)
* [How to add new tests](#adding-new-tests)
* [Optimizing workflow based on PR changes](#optimizing-workflow-based-on-PR-changes)

## Workflows

Expand Down Expand Up @@ -185,7 +186,7 @@ Overview of the [Linux workflow's](../../../../.github/workflows/linux.yml) `Pyt
To understand which jobs have successfully passed, which are running and which have failed, check the following:
* For Pull Requests:
* Open a Pull Request and navigate to the bottom of the page, you will see the list of jobs that ran or are running for the latest commit:
![check_results](../../../_static/images/ci/check_results.png)
![check_results](../../../sphinx_setup/_static/images/ci/check_results.png)
* For scheduled runs:
* Navigate to the [OpenVINO Repository Actions](https://github.com/openvinotoolkit/openvino/actions)
* Select the required workflow from the list on the left
Expand All @@ -196,13 +197,13 @@ To understand which jobs have successfully passed, which are running and which h

To find artefacts for a pipeline, use the following steps:
1. Open a Pull Request and navigate to the bottom of the page, you will see the list of jobs that ran or are running for the latest commit:
![check_results](../../../_static/images/ci/check_results.png)
![check_results](../../../sphinx_setup/_static/images/ci/check_results.png)
2. Click `Details` to see more information about a job
3. Click `Summary` above the list of the jobs:
![jobs_list](../../../_static/images/ci/completed_job_list.png)
![jobs_list](../../../sphinx_setup/_static/images/ci/completed_job_list.png)
4. Scroll to the bottom of the page
5. You will find the artefacts produced by **all the jobs in this pipeline**:
![pipeline_artefacts](../../../_static/images/ci/pipeline_artefacts.png)
![pipeline_artefacts](../../../sphinx_setup/_static/images/ci/pipeline_artefacts.png)
6. Click on the artefact name to download it

**NOTE**: artefacts are available only for the completed, i.e., successful or failed, pipelines.
Expand All @@ -211,7 +212,7 @@ To find artefacts for a pipeline, use the following steps:

To find logs for a pipeline:
1. Open a Pull Request and navigate to the bottom of the page, you will see the list of jobs that ran or are running for the latest commit:
![check_results](../../../_static/images/ci/check_results.png)
![check_results](../../../sphinx_setup/_static/images/ci/check_results.png)
2. Click `Details` to see more information about a job
3. Click on a step to see its logs

Expand Down Expand Up @@ -261,6 +262,11 @@ The jobs in the workflows utilize appropriate caches based on a job's needs. Rea

If you would like to add new tests, refer to [this document](./adding_tests.md).

## Optimizing workflow based on PR changes

To optimize pre-commit workflow by running only those jobs that are actually required to validate changes in a pull
request, you can use Smart CI feature. Refer to [this document](./smart_ci.md) to learn more.

## See also

* [GitHub Actions official documentation](https://docs.github.com/en/actions)
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Basic understanding of [GitHub Actions workflows](https://docs.github.com/en/act
## Implementation

Smart CI is implemented as a [custom GitHub Action](https://docs.github.com/en/actions/creating-actions/about-custom-actions)
stored in openvino repository: [.github/actions/smart-ci](../../../.github/actions/smart-ci). In GitHub Actions
stored in openvino repository: [.github/actions/smart-ci](../../../../.github/actions/smart-ci). In GitHub Actions
workflows this action is called as a first step in a separate job:
```yaml
jobs:
Expand Down Expand Up @@ -67,7 +67,7 @@ The way how we define product components and "smart" rules for them is described
Smart CI operates based on the set of rules described in two configuration files, stored in openvino repository.
### Product components definition: [.github/labeler.yml](../../../.github/labeler.yml)
### Product components definition: [.github/labeler.yml](../../../../.github/labeler.yml)
This file contains mapping of source code paths to corresponding component names. Essentially, this a configuration
for [actions/labeler](https://github.com/marketplace/actions/labeler?version=v4.3.0) GitHub Action, which we use to
automatically assign labels to pull requests based on PR changeset. We reuse it for Smart CI purposes, so that each
Expand All @@ -83,7 +83,7 @@ If PR changes at least one file matching any of the [minimatch glob patterns](ht
above, label "category: CPU" will be assigned to this PR, and GitHub Actions workflows that use Smart CI feature will
consider component named "CPU" changed ("category:" prefix is omitted in component name).
### Definition of dependencies between components: [.github/components.yml](../../../.github/components.yml)
### Definition of dependencies between components: [.github/components.yml](../../../../.github/components.yml)
Some components are not entirely independent, and changes in them may affect other components as well. In this case,
in addition to the validation for the changed component itself (build + tests), validation for dependent components
is also required (either only build or both build and tests). This file describes these relationships between components,
Expand Down Expand Up @@ -126,11 +126,11 @@ any of the patterns in labeler.yml configuration.
### Adding a new component
1. Add a new record to [.github/labeler.yml](../../../.github/labeler.yml).
1. Add a new record to [.github/labeler.yml](../../../../.github/labeler.yml).
Root-level key is a component (label) name, and value is a set of globs to define which source code paths are related to
this component. See [labeler usage](https://github.com/marketplace/actions/labeler?version=v4.3.0) to get familiar with
globs syntax.
2. Add a new record to [.github/components.yml](../../../.github/components.yml).
2. Add a new record to [.github/components.yml](../../../../.github/components.yml).
Root-level key is a component name, which is the same as the label name defined in the previous step, but with prefix
"category:" omitted (if any). If there were spaces present in label name - replace them with underscores. Example:
`'category: LP transformations'` in labeler.yml -> `LP_transformations` in components.yml. To fill the value, review
Expand Down Expand Up @@ -169,9 +169,9 @@ respective components.

### Adding validation for a component
You may wish to add a new validation job to test your new component, or choose an existing one. For that, go to the
desired workflow in [.github/workflows](../../../.github/workflows) (the main ones are
[linux.yml](../../../.github/workflows/linux.yml), [windows.yml](../../../.github/workflows/windows.yml) and
[mac.yml](../../../.github/workflows/mac.yml)). If Smart CI is enabled for the pipeline, you will find Smart_CI job
desired workflow in [.github/workflows](../../../../.github/workflows) (the main ones are
[linux.yml](../../../../.github/workflows/linux.yml), [windows.yml](../../../../.github/workflows/windows.yml) and
[mac.yml](../../../../.github/workflows/mac.yml)). If Smart CI is enabled for the pipeline, you will find Smart_CI job
in the beginning of the workflow:
```yaml
jobs:
Expand Down Expand Up @@ -261,7 +261,7 @@ jobs:
repo_token: ${{ secrets.GITHUB_TOKEN }}
```
If needed, more parameters can be passed to "Get affected components" step, full list is available here:
[.github/actions/smart-ci/action.yml](../../../.github/actions/smart-ci/action.yml).
[.github/actions/smart-ci/action.yml](../../../../.github/actions/smart-ci/action.yml).

After that, you can refer to the outputs from Smart_CI in validation jobs, as described in
[Adding validation for a component](#adding-validation-for-a-component) section. To learn more about the syntax of
Expand Down Expand Up @@ -318,7 +318,7 @@ Some components (like NVIDIA plugin or ONNX Runtime) are stored in their own rep
defined via pattern matching on source code in openvino repository, while they still need to be validated together with
core OpenVINO. To add Smart CI rules for such components, skip the first step with modifying labeler configuration
in [Adding a new component](#adding-a-new-component) instruction and go directly to the next step:
1. Add a new record to [.github/components.yml](../../../.github/components.yml),
1. Add a new record to [.github/components.yml](../../../../.github/components.yml),
with empty values for `revalidate` and `build` keys, like that:
```yaml
NEW_EXTERNAL_COMPONENT:
Expand Down
2 changes: 1 addition & 1 deletion docs/notebooks/108-gpu-device-with-output.rst
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ for that property.
GPU_QUEUE_THROTTLE : Priority.MEDIUM
GPU_ENABLE_LOOP_UNROLLING : True
CACHE_DIR :
PERFORMANCE_HINT : PerformanceMode.UNDEFINED
PERFORMANCE_HINT : PerformanceMode.LATENCY
COMPILATION_NUM_THREADS : 20
NUM_STREAMS : 1
PERFORMANCE_HINT_NUM_REQUESTS : 0
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit c3a1ea5

Please sign in to comment.