ROCm silently fell back to CPU: the code targeted ONNX Runtime's classic ROCMExecutionProvider, but distro ROCm-enabled ONNX Runtime builds (e.g. Arch's onnxruntime-rocm) are commonly compiled with --use_migraphx instead, and registration failures were invisible since breadmill never installed a tracing subscriber. Switches the rocm feature to target MIGraphX, adds a default tracing subscriber so EP registration success/failure is always visible, and fixes a real crash where MIGraphX's output sequence padding could index the attention mask out of bounds during mean-pooling. Also adds a CUDA backend (--cuda / backend = "cuda") mirroring the same ort execution-provider pattern, for NVIDIA hardware. Version bump: 0.1.0 -> 0.2.0.
19 lines
580 B
Desktop File
19 lines
580 B
Desktop File
[Unit]
|
|
Description=Breadmill semantic search indexer
|
|
Documentation=https://github.com/breadway/breadsearch
|
|
After=default.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
# Uncomment if built with --features rocm: persists MIGraphX's compiled-kernel
|
|
# cache across restarts (each new sequence length otherwise costs a ~60-120s
|
|
# recompile). See README.md#gpu-backend-notes.
|
|
#Environment=ORT_MIGRAPHX_MODEL_CACHE_PATH=%h/.cache/breadsearch/migraphx-cache
|
|
ExecStart=%h/.cargo/bin/breadmill
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
|
|
[Install]
|
|
WantedBy=default.target
|