QVAC-22254 feat: isolated LAM-A2E C API and GGML graph - #24
Draft
Alok-Ranjan23 wants to merge 3 commits into
Draft
QVAC-22254 feat: isolated LAM-A2E C API and GGML graph#24Alok-Ranjan23 wants to merge 3 commits into
Alok-Ranjan23 wants to merge 3 commits into
Conversation
Expose lam_a2e_* beside stable-diffusion, convert/remap scripts for lam-audio2exp GGUF, and smoke/parity gates vs lipsync-ggml fixtures.
The standard build jobs compile the LAM audio2expression sources via the SD library glob, but the smoke and CPU-parity test targets are only built under -DSD_BUILD_LAM_A2E_SMOKE=ON and were therefore uncovered. Add a PR-triggered ubuntu job that builds lam-a2e-smoke, lam-a2e-frontend-smoke and lam-a2e-parity so regressions in the C API / graph / test harness are caught. Executing parity is deferred until the remapped GGUF and lipsync-ggml fixtures are available in CI (QVAC-22250 / QVAC-22249).
Alok-Ranjan23
marked this pull request as draft
July 24, 2026 17:06
The Python conversion and fixture-dump scripts sat in the engine repo, but nothing here runs them: the engine only ever reads the resulting .gguf. Every comparable package (ocr-ggml and friends) keeps its conversion tooling beside the code that consumes it, so these move to qvac packages/diffusion-cpp/scripts/ where the venv, the npm scripts, and the docs already live. Keeps the engine a pure C/C++ artifact with no Python surface to maintain.
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.
Summary
lam_a2e_*C API and GGML graph (PCM 16 kHz → ARKit-52) that runs without ansd_ctx_tinclude/lam-a2e.has a public header of the stable-diffusion libraryGGUF conversion tooling deliberately does not live here. It was moved to the consuming package (
qvac/packages/diffusion-cpp/scripts/) inbf8adcc, matching howocr-ggmland the other packages keep model tooling next to the code that ships the model. This repo stays the engine.Tickets
qvac-ext-stable-diffusion.cpp. This is what the PR delivers.bf8adccand now ships intetherto/qvac#3455.ubuntu-latest-lam-a2ejob here; prebuild coverage and GPU parity remain open.Test plan
lam-a2e-smokeagainst the converted F32 GGUFlam-a2e-parityvs lipsync-ggmlwin64fixtures (expr max abs ~3e-6)stable-diffusionwith the new sources — all 14 jobs green, including the dedicatedubuntu-latest-lam-a2ejobqvac#3455): 5/5 cases, worst 9.1e-6 on F32, across varying identity and clip lengthNotes
tetherto/qvac#3455, which pins this branch through a vcpkg overlay port until the merge to2026-07-03lands and the registry publish follows (QVAC-22249).use_gpuis accepted for forward-compat but not yet implemented.