SIGN IN SIGN UP

Openvino backend for Executorch to enable inference on Intel CPUs, GPUs, NPUs (#8573)

### Summary

This PR introduces support for the OpenVINO backend in Executorch,
enabling accelerated inference on Intel hardware, including CPU, GPU,
and NPU devices. OpenVINO optimizes deep learning model performance by
leveraging hardware-specific enhancements. The PR also introduces the
OpenVINO quantizer with NNCF (Neural Network Compression Framework) for
model optimization. The functionality has been tested on several
torchvision and timm models, with plans to test and enable support for
additional model types in the future.

Below is a description of the features:

- OpenVINO Backend Integration: The backends/openvino directory includes
build scripts, AOT components (partitioner, preprocesser), OpenVINO
Quantizer, and runtime backend files that register the OpenVINO backend,
manage OpenVINO’s inference engine interactions, including model
execution, device-specific optimizations, and backend initialization. It
also contains tests for layers and models. See
backends/openvino/README.md for usage.

- OpenVINO Examples: The examples/openvino directory provides scripts
for AOT optimization, quantization, and C++ executor examples. It
includes instructions for optimizing the models, quantizing them, and
exporting Executorch programs with OpenVINO optimizations. Refer to
examples/openvino/README.md for details.

- E2E Tutorial: Added an end-to-end tutorial in
docs/source/build-run-openvino.md.

### Test plan
This PR is tested with OpenVINO backend on Intel Core Ultra 7 processors
for CPU, GPU, and NPU devices. To run the layer tests and model tests,
please refer to backends/openvino/tests/README.md

cc: @yury-gorbachev @alexsu52 @cavusmustafa @daniil-lyakhov @suryasidd
@AlexKoff88 @MaximProshin @AlexanderDokuchaev

---------

Co-authored-by: Cavus Mustafa <mustafa.cavus@intel.com>
Co-authored-by: Aleksandr Suslov <alexander.suslov@intel.com>
Co-authored-by: dlyakhov <daniil.lyakhov@intel.com>
Co-authored-by: Kimish Patel <kimishpatel@fb.com>
Co-authored-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
Y
Yamini Nimmagadda committed
ce74f8e28076517e00f2940bd57ed96e3f1b2f22
Parent: 6bc3e34
Committed by GitHub <noreply@github.com> on 3/28/2025, 8:15:20 PM