Skip to content

new OpenVINO preset#1752

Merged
saudet merged 21 commits into
bytedeco:masterfrom
barrypitman:codex/add-new-openvino-preset-for-windows-and-linux
May 17, 2026
Merged

new OpenVINO preset#1752
saudet merged 21 commits into
bytedeco:masterfrom
barrypitman:codex/add-new-openvino-preset-for-windows-and-linux

Conversation

@barrypitman
Copy link
Copy Markdown
Contributor

This preset packages already-built OpenVINO v2025.4.1 libraries for CPU, Intel GPU and NPU for Windows and Linux. I have tested the sample on Linux and it works:

OpenVINO JavaCPP JNI library loaded from: /root/.javacpp/cache/openvino-2025.4.1-1.5.14-SNAPSHOT-linux-x86_64.jar/org/bytedeco/openvino/linux-x86_64/libjniopenvino.so
Allocated ov_core_t wrapper successfully: org.bytedeco.openvino.ov_core_t[address=0x0,position=0,limit=0,capacity=0,deallocator=null]
OpenVINO preset load verification complete.

I think that having this preset pre-packaged and easily includable will be useful for the OnnxRuntime OpenVINO EP (separate pull request).

Comment thread openvino/cppbuild.sh Outdated
Comment thread openvino/cppbuild.sh Outdated
Comment thread openvino/src/main/java/org/bytedeco/openvino/presets/openvino.java Outdated
Comment thread openvino/src/main/java/org/bytedeco/openvino/presets/openvino.java Outdated
Comment thread openvino/src/main/java/org/bytedeco/openvino/presets/openvino.java
Comment thread openvino/src/main/java/org/bytedeco/openvino/presets/openvino.java Outdated
Comment thread openvino/cppbuild.sh Outdated
Comment thread openvino/src/main/java/org/bytedeco/openvino/ov_rank_t.java
Comment thread openvino/src/main/java/org/bytedeco/openvino/ov_dimension_t.java
@barrypitman
Copy link
Copy Markdown
Contributor Author

My plan is to use the OpenVINO preset to package openvino for use in along with OnnxRuntime OpenVINO execution provider, but I haven't got there yet. I figured I would submit the PR for the OpenVINO preset first, but maybe it makes more sense to submit them together?

Comment thread openvino/pom.xml Outdated
Comment thread openvino/pom.xml
@saudet
Copy link
Copy Markdown
Member

saudet commented Apr 20, 2026

As long as it works standalone, let's start with this first

Comment thread openvino/src/main/java/org/bytedeco/openvino/presets/openvino.java Outdated
@saudet
Copy link
Copy Markdown
Member

saudet commented Apr 21, 2026

The onnxruntime EP that I'm targeting supports 2025.4.1, not yet 2026.1, see https://onnxruntime.ai/docs/execution-providers/OpenVINO-ExecutionProvider.html#requirements

You want to use a fork of ONNX Runtime from Intel that doesn't even support the latest version of its own OpenVINO product? That doesn't sound like a good idea. I'll wait and see what happens with that. For now, please feel free to maintain presets for that in your fork

/cc @blueberry

@blueberry
Copy link
Copy Markdown
Contributor

@saudet I have to admit that I don't quite understand what you meand by "a fork of ONNX Runtime from Intel". I see on that page that their current EP supports a last years version of OpenVINO (2025.4.1) and as I understood, this preset would support that version of OpenVINO, but I didn't get the impression that it needs a fork of onnxruntime. Can you please clarify what you referred to? (I'm not experienced enough in arcane C++ library building nuances to figure it out from that reference).

@saudet
Copy link
Copy Markdown
Member

saudet commented Apr 21, 2026

They have a fork here and it's not clear to me why they have this: https://github.com/intel/onnxruntime

It just looks like a sideproject from someone at Intel. It doesn't look seriously maintained in any case.

Anyway, if you'd like to be able to publish snapshots to work on this, please let me know what your usersnames are at
https://central.sonatype.com/ so I can give you deploy access there. @barrypitman @blueberry

@blueberry
Copy link
Copy Markdown
Contributor

Thanks, now I see. On the surface it looks to me that this fork is synchronized with onnxruntime, and the only 6 commits that it lags from the upstream are from yesterday and today, so it seems to me that it just follows the main repo. It does not look to me as a hard fork, though, but an ordinary github fork so they have an internal playground for developing their OpenVINO EP.

@saudet
Copy link
Copy Markdown
Member

saudet commented Apr 21, 2026

Thanks, that would be helpful, my Sonatype username is barrypitman

@barrypitman What about the e-mail address attached to this account? Is it that username @gmail.com?

@barrypitman
Copy link
Copy Markdown
Contributor Author

@barrypitman Are these modifications valuable to you?

Github workflow has pass. Code changes

  • Support macosx-arm64

Thanks @m1ngyuan, the support for macosx-arm64 is good.

  • Update to OpenVINO 2026.1.0

My goal was to build the ONNX Runtime OpenVINO execution provider which currently requires 2025.4.1. I have requested to see if they'll do a release to bring the EP up to date with OpenVINO 2026.1.0

@ankitm3k
Copy link
Copy Markdown

ankitm3k commented May 3, 2026

Latest OV EP release is out now & available with ORT main - microsoft/onnxruntime#28297
This Legacy EP repo is soon going to reach end of production cycle in the upcoming quarter.

For latest & new OVEP Plugin EP releases, please refer to https://pypi.org/project/onnxruntime-ep-openvino/ project ahead.

@barrypitman
Copy link
Copy Markdown
Contributor Author

Latest OV EP release is out now & available with ORT main - microsoft/onnxruntime#28297 This Legacy EP repo is soon going to reach end of production cycle in the upcoming quarter.

For latest & new OVEP Plugin EP releases, please refer to https://pypi.org/project/onnxruntime-ep-openvino/ project ahead.

Thank you ankitm3k! Just to understand, is the PyPi project being released from the main repo (https://github.com/microsoft/onnxruntime/) now? It will be necessary to update https://onnxruntime.ai/docs/execution-providers/OpenVINO-ExecutionProvider.html#requirements.

@ankitm3k
Copy link
Copy Markdown

ankitm3k commented May 4, 2026

Latest OV EP release is out now & available with ORT main - microsoft/onnxruntime#28297 This Legacy EP repo is soon going to reach end of production cycle in the upcoming quarter.
For latest & new OVEP Plugin EP releases, please refer to https://pypi.org/project/onnxruntime-ep-openvino/ project ahead.

Thank you ankitm3k! Just to understand, is the PyPi project being released from the main repo (https://github.com/microsoft/onnxruntime/) now? It will be necessary to update https://onnxruntime.ai/docs/execution-providers/OpenVINO-ExecutionProvider.html#requirements.

Its a different private repo for us, ORT is now part of Windows ML project. There is a new OVEP Plugin Code which is currently private but We have shipped the first wheel recently for it ie https://pypi.org/project/onnxruntime-ep-openvino/
& nuget - http://nuget.org/packages/Intel.ML.OnnxRuntime.EP.OpenVINO

Just FYI the build recipe for OVEP Legacy Code is as below -

python -m venv ovep_venv 
ovep_venv\scripts\activate 
python -m pip install -U pip 

[MANDATORY] Run below Bat file desired OV toolkit SDK version say 2026.1.0 -

"path/to/openvino_toolkit_windows_vc_mt_2026.1.0.devxxxxxx_x86_64\setupvars.bat"

git clone https://github.com/microsoft/onnxruntime.git  
cd onnxruntime 
pip install -r requirements.txt 
pip install requests 

.\build.bat --config RelWithDebInfo --use_openvino CPU --build_shared_lib --build_wheel --parallel --skip_tests --compile_no_warning_as_error


### If you seek to get build binaires
cd build\RelWithDebInfo 
cmake -DCMAKE_INSTALL_PREFIX=<ovep-install> -DCMAKE_INSTALL_CONFIG_NAME=RelWithDebInfo -P cmake_install.cmake 
 

Above will give you build binaries for the desired OV toolkit version for OVEP Legacy Code. We will update the documentation soon on the same front.

@mullerhai
Copy link
Copy Markdown

It's definitely worth adopting the OpenVINO preset implementation of javacpp. Currently, we are based on javacpp-pytorch and javacpp-cuda. However, the most lacking are diverse deployment and inference tools. We look forward to their eventual success. Additionally, we hope to integrate llama.cpp and tensorRT-llm into our javacpp translation scope as soon as possible. Looking forward to it. @saudet @barrypitman

llama.cpp - An open-source project for running large language models (e.g., LLaMA) in C++.
tensorRT-llm - A library for optimizing large language models for inference on NVIDIA GPUs.

@blueberry
Copy link
Copy Markdown
Contributor

@barrypitman Are these modifications valuable to you?
Github workflow has pass. Code changes

  • Support macosx-arm64

Thanks @m1ngyuan, the support for macosx-arm64 is good.

  • Update to OpenVINO 2026.1.0

My goal was to build the ONNX Runtime OpenVINO execution provider which currently requires 2025.4.1. I have requested to see if they'll do a release to bring the EP up to date with OpenVINO 2026.1.0

New onnxruntime 1.26.0 now supports OpenVINO 2026.1

@blueberry
Copy link
Copy Markdown
Contributor

just fyi i did not say anything about the support in the current javacpp preset, but about the upstream. we still need to build the presets ;)

@barrypitman
Copy link
Copy Markdown
Contributor Author

@barrypitman Are these modifications valuable to you?

Github workflow has pass. Code changes

  • Update to OpenVINO 2026.1.0
  • Support macosx-arm64

Since it seems like the new ORT release (1.26.0) support OpenVINO 2026.1, I think that @m1ngyuan your changes will be perfect. Do you want to send a PR, either to my branch or to the main repo directly? Thanks

@m1ngyuan
Copy link
Copy Markdown
Contributor

m1ngyuan commented May 14, 2026

@barrypitman Are these modifications valuable to you?
Github workflow has pass. Code changes

  • Update to OpenVINO 2026.1.0
  • Support macosx-arm64

Since it seems like the new ORT release (1.26.0) support OpenVINO 2026.1, I think that @m1ngyuan your changes will be perfect. Do you want to send a PR, either to my branch or to the main repo directly? Thanks

@barrypitman
I have already created a PR barrypitman/javacpp-presets#4

Support macosx-arm64 (runtime, build script, docs and poms)
…to-2026.1.0

Update OpenVINO target to 2026.1.0 (runtime, build script and poms)
Comment thread openvino/cppbuild.sh
Comment thread pom.xml
Comment thread openvino/samples/pom.xml
Comment thread openvino/platform/pom.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants