Repository navigation
Add Linux HIP source builds and packaged runtime loading - #36
Merged
Merged
Conversation
andimarafioti
marked this pull request as ready for review
October 9, 2026 13:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Linux HIP source builds and packages the versioned GGML HIP runtime so the installed wrapper can resolve sibling libraries without the native build tree. Refs #35.
The helper accepts
--backend hip/QWENTTS_CPP_BACKEND=hip, plus a HIP compiler, GPU architectures, and ROCm prefix. It enables shared libraries and HIP graphs, disables CUDA/Metal/BLAS/native CPU tuning, and requires successful$ORIGINrelocation with patchelf. Dynamic backend configurations are rejected before compilation or replacement of packaged libraries; ordinary linker symlinks to the linked, versioned runtime remain supported. The loader preloads HIP before GGML/libqwen.The new Linux HIP PR check builds the pinned native source for gfx942 in the digest-pinned ROCm 7.2.4 container on a standard Ubuntu 24.04 GitHub worker. It builds and checks a
0.5.0+rocm724wheel, verifies ABI layouts, installs the wheel, deletes the native source/build trees, clears library overrides, checks default loading and ELF dependencies, and runs the wrapper suite against the installed runtime. It saves the candidate wheel as a seven-day CI artifact.smoke_stream.py --require-rocmselects ROCm0 and rejects a missing or non-AMD device before model loading.--fulladds buffered synthesis alongside streaming, validates finite, nonsilent mono 24 kHz output, and writes both WAVs. The README documents source installation, the tested environment, external ROCm dependencies, clean installed validation, and the separate local-version strategy.Validation:
git diff --checkpasses.The standard Linux worker has no AMD GPU. Device registration and full/streaming synthesis using the new clean-installed wheel remain pending AMD hardware validation; the issue's earlier manual GPU build does not validate this wheel. ROCm runtime libraries and rocBLAS/Tensile assets remain external system dependencies. The CI artifact targets Ubuntu 24.04 / ROCm 7.2.4 / gfx942 and has no manylinux portability claim. No publishing workflow or release metadata changes are included; ROCm publishing remains a follow-up.