Repository navigation
Enable validated HIP VMM defaults in Arch AMD installer - #1080
Merged
0xShug0 merged 6 commits intoOct 25, 2026
Merged
Conversation
Expose HIP virtual memory management as a validated --hip-vmm on|off option in scripts/build_linux.sh. The Arch installer now selects this setting through AUDIOCPP_HIP_VMM=auto|on|off. Auto enables VMM only when every requested GPU target is a recognized discrete target (gfx1100, gfx1101, gfx1102, gfx1200, or gfx1201); integrated, mixed, and unknown target sets stay on ggml's conservative no-VMM default. Users can explicitly override the selection. Reject the build option when the selected backend is not HIP. This updates the installer in light of the HIP VMM access fix already merged in main as 899d84a (PR 0xShug0#1059). The fix applies access permissions across the mapped contiguous pool prefix when HIP grows its VMM pool, avoiding runtimes that reject permissions applied only to the latest mapped subrange. Update the Arch HIP documentation to explain the new default, override, and reason for treating integrated or mixed targets conservatively. Validation on CachyOS, ROCm 7.2.4, AMD Radeon RX 9070 XT (gfx1201), using the current main source (12897de): - `bash -n`, installer `--help`, the interactive quit path, invalid VMM value handling, and `git diff --check` succeeded. The build wrapper rejected `--hip-vmm` for a non-HIP backend as intended. - Auto target selection chose VMM for gfx1201 and discrete-only target lists; it left VMM off for gfx1151 and mixed discrete/integrated targets. Explicit on/off overrides were also checked. - Separate HIP Release deployment builds for gfx1201 completed with VMM off (`GGML_HIP_NO_VMM=ON`) and on (`GGML_HIP_NO_VMM=OFF`). - ACE-Step Base Q8_0 generated a valid 5.12-second, 48 kHz stereo WAV in both builds using the same prompt, seed 314159, five-second request, and two inference steps. Both outputs were byte-identical (SHA-256 3a5dddd19a9924d403a278ab43af8b3786626783dcd76a64e825798ff8319b1b). The GPU runtime reported `VMM: no` and `VMM: yes` respectively; both generations completed successfully, so the fixed VMM path no longer reproduced the earlier invalid-argument failure. - One paired run measured 9199.09 ms with VMM off and 8690.24 ms with VMM on. This is a single sample per configuration, not a reliable performance benchmark and not evidence of a general speedup. - The installer's detected-gfx1201 flow was smoke-tested with a stub build executable and temporary install paths. It passed `--hip-vmm on`, installed the launcher, and the launcher ran. Actual HIP compilation and model inference were tested separately as detailed above. Portable multi-architecture compilation was not performed on this machine.
Add a validated --hip-vmm on|off option to the Linux build wrapper and make the Arch AMD installer select HIP virtual memory management through AUDIOCPP_HIP_VMM=auto|on|off. Auto enables VMM only when all requested GPU targets are recognized discrete AMD targets (gfx1100, gfx1101, gfx1102, gfx1200, or gfx1201). Integrated, mixed, and unknown target sets retain the conservative default; explicit on/off overrides remain available. Reject --hip-vmm when the selected backend is not HIP. This installer update follows the HIP VMM access fix already merged in main as 899d84a (PR 0xShug0#1059). That fix grants access across the mapped contiguous pool prefix as the VMM pool grows, avoiding runtimes that reject permission updates limited to only the newest mapped subrange. Document the new option, automatic target selection, and conservative fallback in the HIP build guide. Validation on CachyOS with ROCm 7.2.4 and an AMD Radeon RX 9070 XT (gfx1201), using source revision 12897de: - bash -n, installer --help, the interactive quit path, invalid-value handling, backend validation, and git diff --check succeeded. - Target-selection checks enabled VMM for gfx1201 and discrete-only target lists, kept it off for gfx1151 and mixed discrete/integrated targets, and verified explicit on/off overrides. - Separate HIP Release deployment builds completed for gfx1201 with VMM disabled (GGML_HIP_NO_VMM=ON) and enabled (GGML_HIP_NO_VMM=OFF). - ACE-Step Base Q8_0 generated valid 5.12-second, 48 kHz stereo WAV files in both configurations with the same prompt, seed 314159, five-second request, and two inference steps. Both files were byte-identical (SHA-256 3a5dddd19a9924d403a278ab43af8b3786626783dcd76a64e825798ff8319b1b). Runtime logs confirmed VMM: no and VMM: yes respectively; both generations succeeded, so the prior invalid-argument failure did not reproduce on the fixed VMM path. - A single paired timing measured 9199.09 ms with VMM off and 8690.24 ms with VMM on. This is one sample per configuration and does not establish a general performance improvement. - The installer gfx1201 route was smoke-tested with a stub builder and temporary install paths; it passed --hip-vmm on, installed the launcher, and the launcher ran. HIP compilation and inference were tested separately. Portable multi-architecture compilation was not performed on this machine.
…thub.com/ZeroDot1/audio.cpp into zerodot1/arch-linux-amd-installer-single
cunba-ai
pushed a commit
to cunba-ai/audio.cpp
that referenced
this pull request
Oct 28, 2026
…d staging) + Earshot VAD + BreezeTTS CUDA opts + Echo-TTS CFG + /health version Upstream commits 899d84a..71f42b8 (22): - fix HIP VMM access updates for growing pools (0xShug0#1059) - gguf: numeric array metadata in one bulk fread (0xShug0#1072) - Echo-TTS optional Joint-CFG (0xShug0#773); Sway time scheduling later - validated HIP VMM defaults in Arch AMD installer (0xShug0#1080) - HIP argsort extended to large rows (0xShug0#1076) - Irodori-TTS MeanFlow support (0xShug0#1083) - assets: direct uploads preserved in weight-norm tensor views (0xShug0#1081) - HIP device weight uploads staged through bounded host buffer (0xShug0#1070) - empty/null speech voice values treated as omitted (0xShug0#1086) - redundant VoxCPM2 KV cache staging/reset avoided (0xShug0#1085) - Drama3 device sampling default off (0xShug0#1087) - Studio LoRA controls + shared adapter groups (0xShug0#1088) - Arena styling alignment (0xShug0#1089) - Earshot VAD native C++ port (0xShug0#1095) - ASR VAD chunking loads any built-in VAD family (0xShug0#1096) - /health reports build version + git commit (0xShug0#1097) - BreezeTTS opt-in fused depth graph CUDA (0xShug0#1090); bf16 rounding fusion in rms_norm/add/SwiGLU (0xShug0#1091); batch-2 CFG decode (0xShug0#1092); option names normalized - ci: best-effort HIP test release binaries (0xShug0#1100) - Echo-TTS Sway time scheduling (0xShug0#1105)
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.
Add a validated --hip-vmm on|off option to the Linux build wrapper and
make the Arch AMD installer select HIP virtual memory management through
AUDIOCPP_HIP_VMM=auto|on|off. Auto enables VMM only when all requested GPU
targets are recognized discrete AMD targets (gfx1100, gfx1101, gfx1102,
gfx1200, or gfx1201). Integrated, mixed, and unknown target sets retain
the conservative default; explicit on/off overrides remain available.
Reject --hip-vmm when the selected backend is not HIP.
This installer update follows the HIP VMM access fix already merged in
main as ZeroDot1@899d84a (PR #1059). That fix grants access across the mapped
contiguous pool prefix as the VMM pool grows, avoiding runtimes that reject
permission updates limited to only the newest mapped subrange. Document the
new option, automatic target selection, and conservative fallback in the
HIP build guide.
Validation on CachyOS with ROCm 7.2.4 and an AMD Radeon RX 9070 XT (gfx1201),
using source revision ZeroDot1@12897de:
handling, backend validation, and git diff --check succeeded.
lists, kept it off for gfx1151 and mixed discrete/integrated targets, and
verified explicit on/off overrides.
disabled (GGML_HIP_NO_VMM=ON) and enabled (GGML_HIP_NO_VMM=OFF).
both configurations with the same prompt, seed 314159, five-second request,
and two inference steps. Both files were byte-identical (SHA-256
3a5dddd19a9924d403a278ab43af8b3786626783dcd76a64e825798ff8319b1b).
Runtime logs confirmed VMM: no and VMM: yes respectively; both generations
succeeded, so the prior invalid-argument failure did not reproduce on the
fixed VMM path.
VMM on. This is one sample per configuration and does not establish a
general performance improvement.
temporary install paths; it passed --hip-vmm on, installed the launcher,
and the launcher ran. HIP compilation and inference were tested separately.
Portable multi-architecture compilation was not performed on this machine.