[PR #23458] [MERGED] feat(ml): update ONNX Runtime, OpenVINO and ROCm stack #17547

Closed
opened 2026-02-05 16:23:43 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/immich-app/immich/pull/23458
Author: @savely-krasovsky
Created: 11/1/2025
Status: Merged
Merged: 1/1/2026
Merged by: @mertalev

Base: mainHead: main


📝 Commits (10+)

  • 6dd73ce feat: update openvino and onnxruntime
  • 66bd84a feat: avoid forcing 3.13
  • 330f176 feat: add legacy driver
  • 464bf0c fix: binary incompatibility fix
  • 258a27d Merge branch 'main' into main
  • b529019 fix: address rocm failing build
  • 2d57bda feat: rocm build cache support
  • f137537 Merge branch 'main' into main
  • 895cae5 Merge branch 'main' into main
  • 354580d Merge branch 'main' into main

📊 Changes

8 files changed (+675 additions, -1088 deletions)

View changed files

📝 .editorconfig (+3 -0)
📝 .github/workflows/test.yml (+3 -3)
📝 machine-learning/Dockerfile (+36 -18)
📝 machine-learning/immich_ml/main.py (+1 -1)
machine-learning/patches/0002-install-system-deps.patch (+33 -0)
machine-learning/patches/0002-target-gfx900-gfx1102.patch (+0 -13)
📝 machine-learning/pyproject.toml (+7 -15)
📝 machine-learning/uv.lock (+592 -1038)

📄 Description

Description

I noticed that Intel Battlemage GPUs are not supported by Immich. This means that, unfortunately, owners of B570, B580, Arc Pro B50, and B60 cannot use GPU acceleration with Immich.

Since the B50 debuted only in Sep 2025, I had to update the OpenVINO image from Bookworm to Trixie (otherwise the .deb packages from intel-graphics-compiler and compute-runtime wouldn't install) and update Python from 3.11 to 3.13. This allowed me to use the newest onnx, onnxruntime-gpu, and onnxruntime-openvino with Arc Pro support.

Due to that dependency bump I also had to refresh ROCm stack.

Fixes #21190.

How Has This Been Tested?

I tested it on personal setup with Arc Pro B50, unfortunately I don't have another hardware to test regress with CUDA/ROCm and other providers.

  • Tested various ML scenarios with Arc Pro B50 GPU.
  • Tested Nvidia/AMD and other SOCs.

Screenshots (if appropriate)

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR.
  • I have confirmed that any new dependencies are strictly necessary.
  • I have written tests for new code (if applicable)
  • I have followed naming conventions/patterns in the surrounding code
  • All code in src/services/ uses repositories implementations for database calls, filesystem operations, etc.
  • All code in src/repositories/ is pretty basic/simple and does not have any immich specific logic (that belongs in src/services/)

Please describe to which degree, if any, an LLM was used in creating this pull request.

Was not used at all.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/immich-app/immich/pull/23458 **Author:** [@savely-krasovsky](https://github.com/savely-krasovsky) **Created:** 11/1/2025 **Status:** ✅ Merged **Merged:** 1/1/2026 **Merged by:** [@mertalev](https://github.com/mertalev) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (10+) - [`6dd73ce`](https://github.com/immich-app/immich/commit/6dd73ce8e2eebd0855eb80f3314679d1869b6fc5) feat: update openvino and onnxruntime - [`66bd84a`](https://github.com/immich-app/immich/commit/66bd84a00dbd7a25902575f814c340e36bf5af91) feat: avoid forcing 3.13 - [`330f176`](https://github.com/immich-app/immich/commit/330f17687b51f87761600d73922fe6e664978751) feat: add legacy driver - [`464bf0c`](https://github.com/immich-app/immich/commit/464bf0cf777e78dc96ff6954151e3840fdac8729) fix: binary incompatibility fix - [`258a27d`](https://github.com/immich-app/immich/commit/258a27d09afb88c0a8c2251924d8e38ef6f62b27) Merge branch 'main' into main - [`b529019`](https://github.com/immich-app/immich/commit/b52901958bad2fe9e1a5c4b4d751d69562950fa7) fix: address rocm failing build - [`2d57bda`](https://github.com/immich-app/immich/commit/2d57bda443527cf0c6d987b4bc537b908e7c6e13) feat: rocm build cache support - [`f137537`](https://github.com/immich-app/immich/commit/f13753780982ea8ec13f55f89e329f05496858b9) Merge branch 'main' into main - [`895cae5`](https://github.com/immich-app/immich/commit/895cae5cc798e9172efd27638ebc2f5e63ecf020) Merge branch 'main' into main - [`354580d`](https://github.com/immich-app/immich/commit/354580d2c2054be49421d7ecfebd1d558090b90b) Merge branch 'main' into main ### 📊 Changes **8 files changed** (+675 additions, -1088 deletions) <details> <summary>View changed files</summary> 📝 `.editorconfig` (+3 -0) 📝 `.github/workflows/test.yml` (+3 -3) 📝 `machine-learning/Dockerfile` (+36 -18) 📝 `machine-learning/immich_ml/main.py` (+1 -1) ➕ `machine-learning/patches/0002-install-system-deps.patch` (+33 -0) ➖ `machine-learning/patches/0002-target-gfx900-gfx1102.patch` (+0 -13) 📝 `machine-learning/pyproject.toml` (+7 -15) 📝 `machine-learning/uv.lock` (+592 -1038) </details> ### 📄 Description ## Description I noticed that Intel Battlemage GPUs are not supported by Immich. This means that, unfortunately, owners of B570, B580, Arc Pro B50, and B60 cannot use GPU acceleration with Immich. Since the B50 debuted only in Sep 2025, I had to update the OpenVINO image from Bookworm to Trixie (otherwise the `.deb` packages from `intel-graphics-compiler` and `compute-runtime` wouldn't install) and update Python from 3.11 to 3.13. This allowed me to use the newest `onnx`, `onnxruntime-gpu`, and `onnxruntime-openvino` with Arc Pro support. Due to that dependency bump I also had to refresh ROCm stack. <!--- Describe your changes in detail --> <!--- Why is this change required? What problem does it solve? --> <!--- If it fixes an open issue, please link to the issue here. --> Fixes #21190. ## How Has This Been Tested? I tested it on personal setup with Arc Pro B50, unfortunately I don't have another hardware to test regress with CUDA/ROCm and other providers. <!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration --> - [x] Tested various ML scenarios with Arc Pro B50 GPU. - [ ] Tested Nvidia/AMD and other SOCs. <details><summary><h2>Screenshots (if appropriate)</h2></summary> <!-- Images go below this line. --> </details> <!-- API endpoint changes (if relevant) ## API Changes The `/api/something` endpoint is now `/api/something-else` --> ## Checklist: - [x] I have performed a self-review of my own code - [ ] I have made corresponding changes to the documentation if applicable - [ ] I have no unrelated changes in the PR. - [x] I have confirmed that any new dependencies are strictly necessary. - [x] I have written tests for new code (if applicable) - [x] I have followed naming conventions/patterns in the surrounding code - [x] All code in `src/services/` uses repositories implementations for database calls, filesystem operations, etc. - [x] All code in `src/repositories/` is pretty basic/simple and does not have any immich specific logic (that belongs in `src/services/`) ## Please describe to which degree, if any, an LLM was used in creating this pull request. Was not used at all. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 16:23:43 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#17547