Commit Graph

14 Commits

Author SHA1 Message Date
e8507e0dea Install hipblas to satisfy onnxruntime-rocm provider dependency
Some checks failed
Build ROCm Image / build (push) Has been cancelled
libhipblas.so.2 is required by libonnxruntime_providers_rocm.so but was
missing from the base image install.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 19:20:45 -04:00
2b1398109d Switch to ONNX runtime with chatterbox-turbo-ONNX (fp16)
Some checks failed
Build ROCm Image / build (push) Has been cancelled
Replaces the PyTorch/chatterbox-tts stack with direct ONNX inference
using ResembleAI/chatterbox-turbo-ONNX fp16 weights.

- engine.py: full rewrite — ONNX sessions, autoregressive KV-cache LM
  loop, voice conditionals cache via speech_encoder outputs
- wyoming_handler.py: remove torch dep, use np.asarray for audio bytes
- requirements-rocm-init.txt: onnxruntime-rocm replaces torch wheels
- requirements-rocm.txt: drop chatterbox/torch deps, keep audio utils
- Dockerfile.rocm: remove chatterbox-tts install step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 19:08:34 -04:00
66445fad84 Revert "Switch to ROCm 6.4 + Python 3.11 + PyTorch 2.9.1"
All checks were successful
Build ROCm Image / build (push) Successful in 45s
This reverts commit eb6a39d292.
2026-04-06 18:05:43 -04:00
eb6a39d292 Switch to ROCm 6.4 + Python 3.11 + PyTorch 2.9.1
Some checks failed
Build ROCm Image / build (push) Has been cancelled
- Base image: rocm/dev-ubuntu-22.04:6.4
- Python 3.10 → 3.11 via deadsnakes PPA
- torch/torchaudio: 2.5.1 → 2.9.1 (rocm6.4 wheel index)
- torchvision: 0.20.1 → 0.24.1
- pytorch_triton_rocm: 3.1.0 → 3.5.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 18:04:59 -04:00
8de67c8bd9 Switch to ROCm 6.1 + torch 2.5.1 to fix MIOpen workspace=0 slowness
Some checks failed
Build ROCm Image / build (push) Failing after 11s
ROCm 7.2 + PyTorch 2.11.0 has a bug where PyTorch passes workspace=0 to
MIOpen convolutions, forcing fallback to the slow GemmFwdRest solver.
This caused s3gen.inference to take 15-22s instead of <5s, making
synthesis 3-4x slower than real-time audio playback.

ROCm 6.1 allocates workspace correctly so MIOpen picks fast GEMM solvers
without needing torch.compile workarounds.

Changes:
- Base image: rocm/dev-ubuntu-22.04:7.2 → 6.1
- torch 2.11.0 → 2.5.1 (rocm6.1 wheel index)
- Add pytorch_triton_rocm==3.1.0
- transformers 5.2.0 → 4.46.3, safetensors 0.5.3 → 0.4.0
- s3tokenizer unpinned → 0.3.0
- resemble-perth==1.0.1 directly (v1.0.1 is pip-installable; drop stub)
- Drop Dockerfile perth_stub steps
- Drop torch.compile and timing patches from engine.py (not needed)
- Drop multi-pass warmup from main.py (torch JIT warmup not needed)
- Drop ROCm 7.2-specific env vars from docker-compose.yml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 17:27:21 -04:00
7436c49d44 Remove custom MIOpen cache path — let MIOpen use its defaults
All checks were successful
Build ROCm Image / build (push) Successful in 3m25s
The named volume overlay was causing SQLite 'unable to open database file'
crashes. MIOpen's default cache location (~/.config/miopen) works reliably
inside the container. The startup warmup repopulates it each run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 14:04:05 -04:00
60279389f2 Create miopen_cache dir in Dockerfile before volume mount
All checks were successful
Build ROCm Image / build (push) Successful in 3m11s
MIOpen crashes with SQLite 'unable to open database file' when the
directory doesn't exist at container start. mkdir + chmod 777 ensures
the path is present and writable before the named volume overlays it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 13:52:03 -04:00
f15cdcf049 Pin base image to rocm/dev-ubuntu-22.04:7.2, restore torch 2.11.0
All checks were successful
Build ROCm Image / build (push) Successful in 16m4s
Using :latest was pulling a ROCm 6.x image whose MIOpen was incompatible
with our ROCm 7.2 PyTorch wheels. Pinning to the 7.2 tag gives matching
MIOpen libraries and should resolve the workspace/fallback performance issue.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 12:35:58 -04:00
d9a540f8e8 Add registry layer cache and fix Dockerfile cache order
Some checks failed
Build ROCm Image / build (push) Failing after 19m47s
- CI: cache-from/cache-to with mode=max stores all intermediate layers
  in the registry so subsequent builds skip unchanged layers (especially
  the slow ROCm PyTorch download)
- Dockerfile: move COPY perth_stub.py below pip install layers so a
  stub change doesn't bust the cache for everything above it

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 11:53:32 -04:00
de6156a336 Replace resemble-perth with a no-op stub
All checks were successful
Build ROCm Image / build (push) Successful in 17m32s
resemble-perth uses uv-build which is incompatible with the old system
pip in the ROCm base image. Since watermarking is unnecessary for
self-hosted private use, stub out the perth module so chatterbox's
import is satisfied without any build complexity.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 11:16:08 -04:00
d7247d31fe Install resemble-perth with --no-build-isolation
Some checks failed
Build ROCm Image / build (push) Failing after 5m28s
pip's isolated build environments don't have the uv binary available,
causing uv-build to fail. Installing with --no-build-isolation lets pip
use the already-installed uv from the system environment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 10:58:21 -04:00
88c2084d19 Symlink uv binary to /usr/local/bin for pip build envs
Some checks failed
Build ROCm Image / build (push) Failing after 1m30s
pip's isolated build environments inherit system PATH but don't get
the uv binary automatically. Symlinking via uv.find_uv_bin() makes it
available so resemble-perth's uv-build backend can execute.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 10:53:14 -04:00
5d1689e7f4 Install uv before pip deps to support uv-build backend
Some checks failed
Build ROCm Image / build (push) Failing after 4m25s
resemble-perth uses uv as its build backend; without uv installed
the metadata-generation step fails.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 10:43:26 -04:00
16ea2853f5 Initial implementation: Chatterbox TTS with ROCm and Wyoming
All checks were successful
Build ROCm Image / build (push) Successful in 15m27s
Wyoming-only server built around the official chatterbox TTS model.
Includes ROCm/AMD GPU support, sentence-level streaming, config.yaml
management, and Gitea CI for container builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 09:51:09 -04:00