Ship one binary with NPU + ROCm + CUDA support, fix CLI flag precedence
Adds breadmill's `full` feature (npu + rocm + cuda together) and switches the release workflow to build with it. All three backends are ort's load-dynamic (dlopen) mode, so combining them doesn't require the NPU/ROCm/ CUDA toolkits on the build host -- which backend is actually available is resolved at runtime via ORT_DYLIB_PATH / the dynamic linker, per whichever backend is selected for that run. Also fixes a real bug this surfaced: backend selection checked `config.model.backend == "rocm"` unconditionally in an if/else-if chain, so an explicit --cuda (or --npu) flag silently lost to an unrelated `backend` value already sitting in config.toml. CLI flags now always take priority over config. Version bump: breadmill 0.2.0 -> 0.2.1.
This commit is contained in:
parent
2618a33fd5
commit
fdf596e58a
5 changed files with 56 additions and 14 deletions
|
|
@ -16,10 +16,15 @@ jobs:
|
|||
"https://git.breadway.dev/${GITHUB_REPOSITORY}.git" src
|
||||
|
||||
- name: build
|
||||
run: cd src && cargo build --release --locked
|
||||
# --features full (breadmill's npu+rocm+cuda combined) ships one binary
|
||||
# that can use any backend at runtime via --npu/--rocm/--cuda or
|
||||
# `backend` in config.toml. All three are ort load-dynamic (dlopen)
|
||||
# EPs, so this doesn't require the NPU/ROCm/CUDA toolkits to be
|
||||
# present on the build host — see breadmill/Cargo.toml.
|
||||
run: cd src && cargo build --release --locked --workspace --features full
|
||||
|
||||
- name: test
|
||||
run: cd src && cargo test --release --locked --workspace
|
||||
run: cd src && cargo test --release --locked --workspace --features full
|
||||
|
||||
- name: prepare artifacts
|
||||
run: |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue