QVAC-20557 tts-ggml: consume tts-cpp 2026-06-26 (Chatterbox Mali GPU + ggml-speech SVE fix) - #2905
Merged
Merged
Conversation
Contributor
Review StatusCurrent Status: ❌ PENDING Pending reviews: Needs 1 more from Management, Team Lead, or Member. |
pratiknarola-t
force-pushed
the
QVAC-20557-tts-ggml-consume-mali-sve
branch
from
June 26, 2026 13:21
8ec7543 to
e6abeb8
Compare
This comment has been minimized.
This comment has been minimized.
Contributor
Mobile integration tests — @qvac/tts-ggml (iOS)Result: passed
|
Contributor
Mobile integration tests — @qvac/tts-ggml (Android)Result: failed
|
GustavoA1604
previously approved these changes
Jun 26, 2026
freddy311082
previously approved these changes
Jun 26, 2026
pratiknarola-t
dismissed stale reviews from freddy311082 and GustavoA1604
via
June 26, 2026 15:33
e606309
This comment has been minimized.
This comment has been minimized.
GustavoA1604
approved these changes
Jun 26, 2026
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…+ ggml-speech SVE fix) Bump the tts-cpp pin to 2026-06-26 (qvac-registry-vcpkg #214) and advance the default-registry baseline to that registry merge commit (162f8f7c). Brings two merged QVAC-20557 fixes into the tts-ggml addon: - tts-cpp 2026-06-26 = qvac-ext-lib-whisper.cpp master 586268bf (PR #67): run Chatterbox correctly on ARM Mali Vulkan via an is_arm_mali-gated unfused CFM attention (fixes the f32 flash_attn_ext miscompute that drove f0 to NaN and broke the audio). Zero change off ARM Mali; CPU output byte-identical. - ggml-speech 2026-06-26 = qvac-ext-ggml speech f5727c32 (PR #30): SVE ggml_vec_dot_f32 leftover-tail fix (svmad_f32_m -> svmla_f32_m), removing the ~12 kHz Nyquist tone on Tensor/Pixel CPU. Pulled in transitively because tts-cpp 2026-06-26 requires ggml-speech >= 2026-06-26. Resolves to tts-cpp@2026-06-26 -> ggml-speech@2026-06-26 (verified via vcpkg dry-run). Manifest-only; the throwaway validation overlays lived only on the ci-validate branch and are not part of this change. Version/CHANGELOG bump follows as a separate release PR.
…p Chatterbox allowPolicyCpu) Chatterbox now runs on the ARM Mali Vulkan GPU (tts-cpp passes allow_arm_mali=true), so gpu-smoke + the KV-cache GPU tests no longer tolerate a Mali->CPU fallback: flip Chatterbox allowPolicyCpu true->false in gpu-smoke.test.js, kvCacheMatrix.js, and chatterbox-kv-cache-gpu.test.js so CI fails if Chatterbox silently falls back to CPU on Mali. Refresh the now-stale "allow_arm_mali=false / Mali declined" comments in those tests plus ChatterboxModel.cpp and BackendUtils.hpp. Test-strictness + docs only; no runtime change.
Contributor
QVAC E2E —
|
Zbig9000
approved these changes
Jun 29, 2026
This branch was previously deployed
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.
🎯 What problem does this PR solve?
flash_attn_extCFM kernel miscomputes → the f0 predictor blows up to NaN → garbled "blank + beeps" audio. Chatterbox was therefore forced to CPU on Mali.ggml_vec_dot_f32leftover-tail bug.qvac-registry-vcpkg, buttts-ggmlstill pins the pre-fixtts-cpp/ggml-speech.📝 How does it solve it?
tts-cppregistry pin2026-06-24→2026-06-26inpackages/tts-ggml/vcpkg.json(published intetherto/qvac-registry-vcpkg#214):tts-cpp 2026-06-26=tetherto/qvac-ext-lib-whisper.cpp#67(master586268bf): anis_arm_mali-gated unfused CFM attention. Zero change off ARM Mali; CPU output byte-identical.ggml-speech ≥ 2026-06-26(tetherto/qvac-ext-ggml#30,speechf5727c32,svmad_f32_m → svmla_f32_m), pulled in transitively → removes the ~12 kHz Nyquist tone. NEON/x86/RISC-V + all non-CPU backends byte-identical.default-registry.baseline1130cabb…→162f8f7c…inpackages/tts-ggml/vcpkg-configuration.json— the release(qvac-lib-registry-client): v0.2.0 #214 merge commit that introduces the new versions (precedent: QVAC-19557 tts-ggml: consume tts-cpp 2026-06-24 (S3Tokenizer host-mirror elimination) #2833 /567b4462e).…-ci-validatebranch (QVAC-20557 test[notask]: Chatterbox Mali fixes — combined on-device CI validation (DO-NOT-MERGE) #2885) and are not part of this change. The@qvac/tts-ggmlversion + CHANGELOG bump follows as a separatechore[notask]: releasePR.🧪 How was it tested?
vcpkgdry-run against the merged registry resolvestts-cpp@2026-06-26 → ggml-speech@2026-06-26(git-trees269311a9/e3d2b92d).ggml-speechsource tree is byte-identical, and the onlytts-cppdelta is a purecfm_unfused_attn()helper-extraction refactor (same compute graph).verifylabel to re-run the on-PR device farm (Pixel 9/Mali + S25/Adreno) + iOS/desktop integration against the new registry.