From 2424c72ecbccc4c3d4ee07ba73783bba714f6b1e Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Sun, 9 Feb 2025 18:38:23 -0800 Subject: [PATCH 01/12] Added ReadMe for openvino backend --- backends/openvino/README.md | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 backends/openvino/README.md diff --git a/backends/openvino/README.md b/backends/openvino/README.md new file mode 100644 index 00000000000..7ea63af477d --- /dev/null +++ b/backends/openvino/README.md @@ -0,0 +1,56 @@ +# OpenVINO Backend on ExecuTorch +The OpenVINO backend enables optimized execution of deep learning models on Intel hardware, leveraging Intel's [OpenVINO toolkit](https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html) for inference acceleration. + +## Supported Hardware + +OpenVINO backend supports the following hardware: + +- Intel CPUs +- Intel integrated GPUs +- Intel discrete GPUs +- Intel NPUs + +## Build Instructions + +### Prerequisites + +Before you begin, ensure you have openvino installed and configured on your system: + +```bash +git clone -b executorch_ov_backend https://github.com/ynimmaga/openvino +cd openvino +git submodule update --init --recursive +mkdir build +cd build +cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON -DENABLE_WHEEL=ON +make -j + +cd ../.. +cmake --install build --prefix +cd +source setupvars.sh +``` + +### Setup + +Follow the steps below to setup your build environment: + +1. **Setup ExecuTorch Environment**: Refer to the [Setting up ExecuTorch](https://pytorch.org/executorch/stable/getting-started-setup) guide for detailed instructions on setting up the ExecuTorch environment. + +2. **Setup OpenVINO Backend Environment** +- Install the dependent libs. Ensure that you are inside backends/openvino/ directory + ```bash + pip install -r requirements.txt + ``` + +3. Navigate to `scripts/` directory. + +4. **Build OpenVINO Backend**: Once the prerequisites are in place, run the `openvino_build.sh` script to start the build process, OpenVINO backend will be built under `cmake-openvino-out/backends/openvino/` as `libneuron_backend.so` + + ```bash + ./openvino_build.sh + ``` + +### Run + +Please refer to `executorch/examples/openvino/` for aot optimization and execution examples of various of models. From 11218a357181707f7453598fc3fc81899d6dc7b5 Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Mon, 10 Feb 2025 14:55:44 -0800 Subject: [PATCH 02/12] Update README.md for openvino backend --- backends/openvino/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/backends/openvino/README.md b/backends/openvino/README.md index 7ea63af477d..414c30ecb3c 100644 --- a/backends/openvino/README.md +++ b/backends/openvino/README.md @@ -16,6 +16,9 @@ OpenVINO backend supports the following hardware: Before you begin, ensure you have openvino installed and configured on your system: +## TODO: Update with the openvino commit/Release tag once the changes in OpenVINO are merged +## TODO: Add instructions for support with OpenVINO release package + ```bash git clone -b executorch_ov_backend https://github.com/ynimmaga/openvino cd openvino From f7e03c5f5879686f259507c470a6e00dde8f4b11 Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Mon, 10 Feb 2025 15:11:06 -0800 Subject: [PATCH 03/12] Added directory structure for openvino backend in ReadMe --- backends/openvino/README.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/backends/openvino/README.md b/backends/openvino/README.md index 414c30ecb3c..31d1c1b1c4a 100644 --- a/backends/openvino/README.md +++ b/backends/openvino/README.md @@ -1,4 +1,4 @@ -# OpenVINO Backend on ExecuTorch +# OpenVINO Backend for ExecuTorch The OpenVINO backend enables optimized execution of deep learning models on Intel hardware, leveraging Intel's [OpenVINO toolkit](https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html) for inference acceleration. ## Supported Hardware @@ -10,6 +10,37 @@ OpenVINO backend supports the following hardware: - Intel discrete GPUs - Intel NPUs +## Directory Structure + +``` +executorch +├── backends +│ └── openvino +│ ├── runtime +│ ├── OpenvinoBackend.cpp +│ └── OpenvinoBackend.hpp +│ ├── scripts +│ └── openvino_build.sh +│ ├── tests +│ ├── CMakeLists.txt +│ ├── README.md +│ ├── __init__.py +│ ├── openvino_functions.yaml +│ ├── partitioner.py +│ ├── preprocess.py +│ └── requirements.txt +└── examples +│ └── openvino +│ ├── aot +│ ├── README.md +│ └── aot_openvino_compiler.py +│ └── executor_runner +│ └── openvino_executor_runner.cpp +│ ├── CMakeLists.txt +│ ├── README.md +└── └── openvino_build_example.sh +``` + ## Build Instructions ### Prerequisites From b49e43988868317a90d3418a5b58365ec62fd5ea Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Mon, 10 Feb 2025 15:24:51 -0800 Subject: [PATCH 04/12] Minor updates for README.md --- backends/openvino/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/openvino/README.md b/backends/openvino/README.md index 31d1c1b1c4a..06cce4a6211 100644 --- a/backends/openvino/README.md +++ b/backends/openvino/README.md @@ -87,4 +87,4 @@ Follow the steps below to setup your build environment: ### Run -Please refer to `executorch/examples/openvino/` for aot optimization and execution examples of various of models. +Please refer to [README.md](../../examples/openvino/README.md) for instructions on running examples of various of models with openvino backend. From d122f51ea2da5d4cc87f356aea57e178387296ee Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Mon, 10 Feb 2025 17:43:36 -0800 Subject: [PATCH 05/12] Created README.md for examples --- examples/openvino/README.md | 85 +++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 examples/openvino/README.md diff --git a/examples/openvino/README.md b/examples/openvino/README.md new file mode 100644 index 00000000000..10d8c3343cf --- /dev/null +++ b/examples/openvino/README.md @@ -0,0 +1,85 @@ +# OpenVINO Backend Examples + +This guide provides detailed instructions on how to export models for Executorch and execute them on the OpenVINO backend. The examples demonstrate how to export a model, load a model, prepare input tensors, execute inference, and save the output results. + +## Directory Structure + +Below is the layout of the `examples/openvino` directory, which includes the necessary files for the example applications: + +``` +examples/openvino +├── aot # Directory with scripts and instructions for AoT export + ├── README.md # Instructions to export models to '.pte' + └── aot_openvino_compiler.py # Example script for AoT export +├── executor_runner # Directory with examples for C++ execution + └── openvino_executor_runner.cpp # Example C++ file for execution +├── CMakeLists.txt # CMake build configuration to build examples +├── README.md # Documentation for examples (this file) +└── openvino_build_example.sh # Script to build examples for openvino backend +``` + +# Build Instructions for Examples + +## Environment Setup +Follow the [instructions](../../backends/openvino/README.md) of **Prerequisites** and **Setup** in `backends/openvino/README.md` to set up the OpenVINO backend. + +## AOT step: +Refer to the [README.md](aot/README.md) in the `aot` folder for detailed instructions on exporting deep learning models from various model suites (TIMM, Torchvision, Hugging Face) to openvino backend using Executorch. Users can dynamically specify the model, input shape, and target device. + +Below is an example to export a ResNet50 model from Torchvision model suite for CPU device with an input shape of `[1, 3, 256, 256]` + +```bash +cd aot +python aot_openvino_compiler.py --suite torchvision --model resnet50 --input_shape "(1, 3, 256, 256)" --device CPU +``` +The exported model will be saved as 'resnet50.pte' in the current directory. + +## Build OpenVINO Examples +Build the backend and the examples by executing the script: +```bash +./openvino_build_example.sh +``` +The executable is saved in `/cmake-openvino-out/examples/openvino/` + +### Run the example + +Now, run the example using the executable generated in the above step. The executable requires a model file (`.pte` file generated in the aot step), number of inference iterations, and optional input/output paths. + +#### Command Syntax: + +``` +cd ../../cmake-openvino-out/examples/openvino + +./openvino_executor_runner \ + --model_path= \ + --num_iter= \ + [--input_list_path=] \ + [--output_folder_path=] +``` +#### Command-Line Arguments + +- `--model_path`: (Required) Path to the model serialized in `.pte` format. +- `--num_iter`: (Optional) Number of times to run inference (default: 1). +- `--input_list_path`: (Optional) Path to a file containing the list of raw input tensor files. +- `--output_folder_path`: (Optional) Path to a folder where output tensor files will be saved. + +#### Example Usage + +Run inference with a given model for 10 iterations and save outputs: + +``` +./openvino_executor_runner \ + --model_path=model.pte \ + --num_iter=10 \ + --output_folder_path=outputs/ +``` + +Run inference with an input tensor file: + +``` +./openvino_executor_runner \ + --model_path=model.pte \ + --num_iter=5 \ + --input_list_path=input_list.txt \ + --output_folder_path=outputs/ +``` From aad2ac790790694ca842870567f88f39264847ea Mon Sep 17 00:00:00 2001 From: ynimmaga Date: Mon, 10 Feb 2025 18:04:26 -0800 Subject: [PATCH 06/12] delete old Readme file for openvino examples --- examples/openvino/ReadMe.md | 64 ------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 examples/openvino/ReadMe.md diff --git a/examples/openvino/ReadMe.md b/examples/openvino/ReadMe.md deleted file mode 100644 index 13196f5151c..00000000000 --- a/examples/openvino/ReadMe.md +++ /dev/null @@ -1,64 +0,0 @@ -# TODO: Delete and reformat later - -## Build Executorch - -```bash -git clone -b openvino_backend https://github.com/ynimmaga/executorch -cd executorch -git submodule update --init –recursive -./install_requirements.sh -(If not successful) pkill -f buck && ./install_requirements.sh -``` - -## Build OpenVINO and source environment variables: - -```bash -git clone -b executorch_ov_backend https://github.com/ynimmaga/openvino -cd openvino -git submodule update --init --recursive -mkdir build -cd build -cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON -DENABLE_WHEEL=ON -make -j -cd wheels -pip install - -cd ../.. -cmake --install build --prefix -cd -source setupvars.sh -``` - -## Build gflags: - -```bash -cd third-party/gflags -mkdir build -cd build -cmake .. -make -j12 -``` - -## Build OpenVINO example: - -```bash -cd ../../../examples/openvino -./openvino_build.sh -``` - -### AOT step: -```bash -cd aot -python aot_openvino_compiler.py --suite torchvision --model resnet50 --input_shape "(1, 3, 256, 256)" --device CPU -``` - -### Update the model.pte in executorch example and rebuild -```bash -cd -cd examples/openvino/executor_runner -Update the path of model.pte in openvino_executor_runner.cpp at https://github.com/ynimmaga/executorch/blob/openvino_backend/examples/openvino/executor_runner/openvino_executor_runner.cpp#L20 - -Rebuild the example using “./openvino_build.sh” -The executable is in /cmake-openvino-out/examples/openvino -./openvino_executor_runner -``` From 050259bc612a8bc63f0fb0e38bbfaf8993d630fe Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Mon, 10 Feb 2025 20:28:27 -0800 Subject: [PATCH 07/12] Added OpenVINO tutorial in docs --- docs/source/build-run-openvino.md | 202 ++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 docs/source/build-run-openvino.md diff --git a/docs/source/build-run-openvino.md b/docs/source/build-run-openvino.md new file mode 100644 index 00000000000..ec3330d94cb --- /dev/null +++ b/docs/source/build-run-openvino.md @@ -0,0 +1,202 @@ +# Building and Running ExecuTorch with OpenVINO Backend + +In this tutorial we will walk you through the process of setting up the prerequisites, building OpenVINO backend library, exporting `.pte` models with OpenVINO optimizations, and executing the exported models on Intel hardware. + + +::::{grid} 2 +:::{grid-item-card} What you will learn in this tutorial: +:class-card: card-prerequisites +* In this tutorial you will learn how to lower and deploy a model with OpenVINO. +::: +:::{grid-item-card} Tutorials we recommend you complete before this: +:class-card: card-prerequisites +* [Introduction to ExecuTorch](intro-how-it-works.md) +* [Setting up ExecuTorch](getting-started-setup.md) +* [Building ExecuTorch with CMake](runtime-build-and-cross-compilation.md) +::: +:::: + +## Introduction to OpenVINO + +[OpenVINO](https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html) is an open-source toolkit designed to enhance AI inference on Intel hardware by reducing latency and increasing throughput while preserving accuracy. It optimizes hardware utilization and simplifies AI development and deep learning integration across domains such as computer vision, large language models (LLMs), and generative AI. + +OpenVINO is integrated as an Executorch delegate to accelerate AI applications deployed with Executorch APIs. + +## Supported Hardware + +OpenVINO backend supports the following hardware: + +- Intel CPUs +- Intel integrated GPUs +- Intel discrete GPUs +- Intel NPUs + +## Directory Structure + +``` +executorch +├── backends +│ └── openvino +│ ├── runtime +│ ├── OpenvinoBackend.cpp +│ └── OpenvinoBackend.hpp +│ ├── scripts +│ └── openvino_build.sh +│ ├── tests +│ ├── CMakeLists.txt +│ ├── README.md +│ ├── __init__.py +│ ├── openvino_functions.yaml +│ ├── partitioner.py +│ ├── preprocess.py +│ └── requirements.txt +└── examples +│ └── openvino +│ ├── aot +│ ├── README.md +│ └── aot_openvino_compiler.py +│ └── executor_runner +│ └── openvino_executor_runner.cpp +│ ├── CMakeLists.txt +│ ├── README.md +└── └── openvino_build_example.sh +``` + +## Instructions for Building OpenVINO Backend + +### Prerequisites + +Before you begin, ensure you have openvino installed and configured on your system: + +#### TODO: Update with the openvino commit/Release tag once the changes in OpenVINO are merged +#### TODO: Add instructions for support with OpenVINO release package + +```bash +git clone -b executorch_ov_backend https://github.com/ynimmaga/openvino +cd openvino +git submodule update --init --recursive +mkdir build +cd build +cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON -DENABLE_WHEEL=ON +make -j + +cd ../.. +cmake --install build --prefix +cd +source setupvars.sh +``` + +### Setup + +Follow the steps below to setup your build environment: + +1. **Setup ExecuTorch Environment**: Refer to the [Setting up ExecuTorch](https://pytorch.org/executorch/stable/getting-started-setup) guide for detailed instructions on setting up the ExecuTorch environment. + +2. **Setup OpenVINO Backend Environment** +- Install the dependent libs. Ensure that you are inside backends/openvino/ directory + ```bash + pip install -r requirements.txt + ``` + +3. Navigate to `scripts/` directory. + +4. **Build OpenVINO Backend**: Once the prerequisites are in place, run the `openvino_build.sh` script to start the build process, OpenVINO backend will be built under `cmake-openvino-out/backends/openvino/` as `libneuron_backend.so` + + ```bash + ./openvino_build.sh + ``` + +## Build Instructions for Examples + +### AOT step: +Refer to the [README.md](aot/README.md) in the `aot` folder for detailed instructions on exporting deep learning models from various model suites (TIMM, Torchvision, Hugging Face) to openvino backend using Executorch. Users can dynamically specify the model, input shape, and target device. + +Below is an example to export a ResNet50 model from Torchvision model suite for CPU device with an input shape of `[1, 3, 256, 256]` + +```bash +cd aot +python aot_openvino_compiler.py --suite torchvision --model resnet50 --input_shape "(1, 3, 256, 256)" --device CPU +``` +The exported model will be saved as 'resnet50.pte' in the current directory. + +#### **Arguments** +- **`--suite`** (required): + Specifies the model suite to use. + Supported values: + - `timm` (e.g., VGG16, ResNet50) + - `torchvision` (e.g., resnet18, mobilenet_v2) + - `huggingface` (e.g., bert-base-uncased) + +- **`--model`** (required): + Name of the model to export. + Examples: + - For `timm`: `vgg16`, `resnet50` + - For `torchvision`: `resnet18`, `mobilenet_v2` + - For `huggingface`: `bert-base-uncased`, `distilbert-base-uncased` + +- **`--input_shape`** (required): + Input shape for the model. Provide this as a **list** or **tuple**. + Examples: + - `[1, 3, 224, 224]` (Zsh users: wrap in quotes) + - `(1, 3, 224, 224)` + +- **`--device`** (optional): + Target device for the compiled model. Default is `CPU`. + Examples: `CPU`, `GPU` + +### Build C++ OpenVINO Examples +Build the backend and the examples by executing the script: +```bash +./openvino_build_example.sh +``` +The executable is saved in `/cmake-openvino-out/examples/openvino/` + +Now, run the example using the executable generated in the above step. The executable requires a model file (`.pte` file generated in the aot step), number of inference iterations, and optional input/output paths. + +#### Command Syntax: + +``` +cd ../../cmake-openvino-out/examples/openvino + +./openvino_executor_runner \ + --model_path= \ + --num_iter= \ + [--input_list_path=] \ + [--output_folder_path=] +``` +#### Command-Line Arguments + +- `--model_path`: (Required) Path to the model serialized in `.pte` format. +- `--num_iter`: (Optional) Number of times to run inference (default: 1). +- `--input_list_path`: (Optional) Path to a file containing the list of raw input tensor files. +- `--output_folder_path`: (Optional) Path to a folder where output tensor files will be saved. + +#### Example Usage + +Run inference with a given model for 10 iterations and save outputs: + +``` +./openvino_executor_runner \ + --model_path=model.pte \ + --num_iter=10 \ + --output_folder_path=outputs/ +``` + +Run inference with an input tensor file: + +``` +./openvino_executor_runner \ + --model_path=model.pte \ + --num_iter=5 \ + --input_list_path=input_list.txt \ + --output_folder_path=outputs/ +``` + +## Supported model list + +### TODO + +## FAQ + +If you encounter any issues while reproducing the tutorial, please file a github +issue on ExecuTorch repo and tag use `#openvino` tag From 7139bac7c9d93cad10e6a7645eee33dcd98fcb32 Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Tue, 11 Feb 2025 19:02:12 -0800 Subject: [PATCH 08/12] Update backends/openvino/README.md Co-authored-by: Mustafa Cavus --- backends/openvino/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/openvino/README.md b/backends/openvino/README.md index 06cce4a6211..a1eb5a47b75 100644 --- a/backends/openvino/README.md +++ b/backends/openvino/README.md @@ -59,7 +59,7 @@ cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON -DENABLE_WHEEL=ON make -j -cd ../.. +cd .. cmake --install build --prefix cd source setupvars.sh From 58152a2c324075825fa1653116cb1668d77f2232 Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Tue, 11 Feb 2025 19:02:48 -0800 Subject: [PATCH 09/12] remove enable_wheel from openvino build instructions Co-authored-by: Mustafa Cavus --- backends/openvino/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/openvino/README.md b/backends/openvino/README.md index a1eb5a47b75..7e627ddd33d 100644 --- a/backends/openvino/README.md +++ b/backends/openvino/README.md @@ -56,7 +56,7 @@ cd openvino git submodule update --init --recursive mkdir build cd build -cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON -DENABLE_WHEEL=ON +cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON make -j cd .. From 541e44da41e3798ea0e52e141d39965696d0c86f Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Tue, 11 Feb 2025 19:14:06 -0800 Subject: [PATCH 10/12] Update backends/openvino/README.md Co-authored-by: Mustafa Cavus --- backends/openvino/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/openvino/README.md b/backends/openvino/README.md index 7e627ddd33d..bb2b1459282 100644 --- a/backends/openvino/README.md +++ b/backends/openvino/README.md @@ -79,7 +79,7 @@ Follow the steps below to setup your build environment: 3. Navigate to `scripts/` directory. -4. **Build OpenVINO Backend**: Once the prerequisites are in place, run the `openvino_build.sh` script to start the build process, OpenVINO backend will be built under `cmake-openvino-out/backends/openvino/` as `libneuron_backend.so` +4. **Build OpenVINO Backend**: Once the prerequisites are in place, run the `openvino_build.sh` script to start the build process, OpenVINO backend will be built under `cmake-openvino-out/backends/openvino/` as `libopenvino_backend.so` ```bash ./openvino_build.sh From 99681789a6baa3271fd33cb986e61be6be6b1833 Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Tue, 11 Feb 2025 19:56:00 -0800 Subject: [PATCH 11/12] Updated executorch environment setup in README.md --- backends/openvino/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backends/openvino/README.md b/backends/openvino/README.md index bb2b1459282..4141588aeae 100644 --- a/backends/openvino/README.md +++ b/backends/openvino/README.md @@ -69,10 +69,10 @@ source setupvars.sh Follow the steps below to setup your build environment: -1. **Setup ExecuTorch Environment**: Refer to the [Setting up ExecuTorch](https://pytorch.org/executorch/stable/getting-started-setup) guide for detailed instructions on setting up the ExecuTorch environment. +1. **Setup ExecuTorch Environment**: Refer to the [Environment Setup](https://pytorch.org/executorch/stable/getting-started-setup#environment-setup) guide for detailed instructions on setting up the ExecuTorch environment. 2. **Setup OpenVINO Backend Environment** -- Install the dependent libs. Ensure that you are inside backends/openvino/ directory +- Install the dependent libs. Ensure that you are inside `executorch/backends/openvino/` directory ```bash pip install -r requirements.txt ``` From 32e7cc792c7ecc827e6f861c344a960a30f87c17 Mon Sep 17 00:00:00 2001 From: Yamini Nimmagadda Date: Tue, 11 Feb 2025 19:59:08 -0800 Subject: [PATCH 12/12] Update environment setup in build-run-openvino.md --- docs/source/build-run-openvino.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/build-run-openvino.md b/docs/source/build-run-openvino.md index ec3330d94cb..08882c448a7 100644 --- a/docs/source/build-run-openvino.md +++ b/docs/source/build-run-openvino.md @@ -90,17 +90,17 @@ source setupvars.sh Follow the steps below to setup your build environment: -1. **Setup ExecuTorch Environment**: Refer to the [Setting up ExecuTorch](https://pytorch.org/executorch/stable/getting-started-setup) guide for detailed instructions on setting up the ExecuTorch environment. +1. **Setup ExecuTorch Environment**: Refer to the [Environment Setup](https://pytorch.org/executorch/stable/getting-started-setup#environment-setup) guide for detailed instructions on setting up the ExecuTorch environment. 2. **Setup OpenVINO Backend Environment** -- Install the dependent libs. Ensure that you are inside backends/openvino/ directory +- Install the dependent libs. Ensure that you are inside `executorch/backends/openvino/` directory ```bash pip install -r requirements.txt ``` 3. Navigate to `scripts/` directory. -4. **Build OpenVINO Backend**: Once the prerequisites are in place, run the `openvino_build.sh` script to start the build process, OpenVINO backend will be built under `cmake-openvino-out/backends/openvino/` as `libneuron_backend.so` +4. **Build OpenVINO Backend**: Once the prerequisites are in place, run the `openvino_build.sh` script to start the build process, OpenVINO backend will be built under `cmake-openvino-out/backends/openvino/` as `libopenvino_backend.so` ```bash ./openvino_build.sh