feat: add ROCm (AMD GPU) and Intel GPU support (v0.2.12)

New image variants:
- :rocm  — InsightFace via ROCmExecutionProvider, SigLIP via PyTorch ROCm 6.3
- :intel — InsightFace via OpenVINOExecutionProvider (onnxruntime-openvino);
           Intel GPU compute runtime auto-installed from Intel graphics repo;
           OPENVINO_DEVICE=GPU opts into Arc/iGPU inference (default: CPU)

Also adds:
- pyproject-rocm.toml + uv-rocm.lock, pyproject-intel.toml + uv-intel.lock
- compose.yml device passthrough snippets for AMD and Intel
- CI: build-rocm and build-intel jobs in docker-publish.yml; all four
  variants built and tagged in release.yml
- README reworked: cleaner structure, GPU variant quick-start examples,
  OPENVINO_DEVICE env var documented
- CHANGELOG entry and version bump to 0.2.12

Fix: IntPrompt in dict literal was eagerly evaluated in the no-embedding
fallback path of _get_strategy_choice, prompting users for a custom count
regardless of which strategy they picked.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-13 02:31:09 +00:00
co-authored by Claude Sonnet 4.6
parent a281b4b896
commit b2be19e259
16 changed files with 4550 additions and 183 deletions
+19
View File
@@ -38,6 +38,7 @@ services:
# ── Caching & Models ──────────────────────────────────────────────────
# - FORCE_CPU=true # Disable GPU, fall back to CPU
# - OPENVINO_DEVICE=GPU # Intel variant only: use Arc/iGPU instead of CPU (default: CPU)
# - ENABLE_CACHE=false # Disable embedding cache (default: true)
- CACHE_DIR=/app/.if_cache
- HF_HOME=/models/huggingface
@@ -63,6 +64,9 @@ services:
- /path/to/winnow/cache:/app/.if_cache
- /path/to/winnow/output:/app/frigate_train
restart: unless-stopped
# ── GPU device passthrough ─────────────────────────────────────────────────
# NVIDIA (default — requires nvidia-container-toolkit):
deploy:
resources:
reservations:
@@ -70,3 +74,18 @@ services:
- driver: nvidia
count: all
capabilities: [gpu]
#
# AMD ROCm — replace the deploy block above with:
# devices:
# - /dev/kfd
# - /dev/dri
# group_add:
# - video
# - render
#
# Intel Arc / iGPU — replace the deploy block above with:
# devices:
# - /dev/dri
# group_add:
# - render
# Also set: OPENVINO_DEVICE=GPU in the environment section above.