Add OpenVINO backend for Intel iGPU/dGPU (Arc)
Mirrors the rocm/cuda pattern: ort::ep::OpenVINO with device_type "GPU" (covers both Intel integrated graphics and Arc discrete GPUs through the same EP), load-dynamic/dlopen so no OpenVINO toolkit is needed at build time, and its own --openvino flag / backend = "openvino" config value. Folded into the `full` feature alongside npu/rocm/cuda. OpenVINO's provider options go through a generic key/value FFI interface rather than a fixed C struct (unlike MIGraphX's OrtMIGraphXProviderOptions), so it should be less exposed to the ABI-version-skew crash MIGraphX hit -- but that's inference from the EP's design, not verified against real hardware. Like CUDA, this is compile-checked only: no Intel GPU in this dev environment to runtime-verify against. Version bump: breadmill 0.2.2 -> 0.2.3.
This commit is contained in:
parent
e5922e9c90
commit
c6ed6a41d8
8 changed files with 112 additions and 35 deletions
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "breadmill"
|
||||
version = "0.2.2"
|
||||
version = "0.2.3"
|
||||
edition = "2021"
|
||||
license = "MIT"
|
||||
|
||||
|
|
@ -14,13 +14,17 @@ npu = ["ort/vitis", "ort/load-dynamic"]
|
|||
# libonnxruntime_providers_rocm.so, which most distros don't package.
|
||||
rocm = ["ort/migraphx", "ort/load-dynamic"]
|
||||
cuda = ["ort/cuda", "ort/load-dynamic"]
|
||||
# Intel iGPU/dGPU (Arc) + CPU via OpenVINO. One EP covers Intel's whole
|
||||
# hardware line by device_type string ("CPU"/"GPU"/"GPU.0"/"NPU"/"HETERO:...");
|
||||
# we always request "GPU" since CPU is already covered by the cpu backend.
|
||||
openvino = ["ort/openvino", "ort/load-dynamic"]
|
||||
# All backends in one binary. Safe to combine: every backend here uses
|
||||
# ort's load-dynamic (dlopen) mode, so none of this links against an actual
|
||||
# NPU/ROCm/CUDA toolkit at build time — which ONNX Runtime actually gets
|
||||
# loaded (and thus which EPs are really available) is decided at runtime by
|
||||
# ORT_DYLIB_PATH / the dynamic linker, per the --npu/--rocm/--cuda flag or
|
||||
# `backend` config value in use for that run.
|
||||
full = ["npu", "rocm", "cuda"]
|
||||
# NPU/ROCm/CUDA/OpenVINO toolkit at build time — which ONNX Runtime actually
|
||||
# gets loaded (and thus which EPs are really available) is decided at
|
||||
# runtime by ORT_DYLIB_PATH / the dynamic linker, per the --npu/--rocm/
|
||||
# --cuda/--openvino flag or `backend` config value in use for that run.
|
||||
full = ["npu", "rocm", "cuda", "openvino"]
|
||||
|
||||
[[bin]]
|
||||
name = "breadmill"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue