Skip to content

chore(sa3): repin current upstream and version SAME-L engines - #319

Merged
leszko merged 2 commits into
mainfrom
ryanontheinside/chore/sa3-current-upstream-pin
Aug 18, 2026
Merged

chore(sa3): repin current upstream and version SAME-L engines#319
leszko merged 2 commits into
mainfrom
ryanontheinside/chore/sa3-current-upstream-pin

Conversation

@ryanontheinside

@ryanontheinside ryanontheinside commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Two changes that travel together:

  1. Repin the vendored SA3 to c076985, the head of Stability PR realtime_motion_graph_web: default to 60s low-fi fixture for first-time users #49
    (SWA plugin int-attribute fix for TensorRT 10.16 / NumPy 2.x). Without
    it the same-L decoder engine cannot be built at all on current
    TRT/NumPy.
  2. Version the SAME-L decode engine identity by plugin build tag
    ({aot|jit}_{mma|ptx|jit}_v<plugin-revision>). Engines built against a
    different plugin revision or implementation are no longer silently
    reused: discovery filters by the expected tag, metadata sidecars gate
    rebuild/skip, and a missing engine falls back loudly to the eager
    decoder (logged mode=eager reason=no_trt_engine, realtime holds).

Also includes a worktree-aware vendor .git check and unit tests for the
engine-identity scheme.

Validation (2026-08-17, RTX 5090, TRT 10.16.1.11)

  • Full unit suite green (the 4 test_lora_facade_session failures
    reproduce identically on clean main, pre-existing).
  • Tagged engine builds; a second builder run reports SKIP (idempotent);
    8.47 ms vs 8.44 ms legacy per T=56 decode, VRAM delta nil.
  • Real-latent battery vs eager references: 84 checks, 0 failures.
  • Live runtime battery over the headless client: versioned engine
    selected, LoRA TRT refit, source swaps/uploads, denoise sweeps,
    restart; 0 stale ticks throughout.
  • Missing-engine path: legacy (untagged) engine correctly ignored, loud
    eager fallback, stream stays realtime.

Merge handoff

Move the managed SA3 source from the old FP8 development lineage to
current upstream plus the rebased TensorRT integer-attribute fix.

The current upstream SAME-L plugin bakes its AOT/JIT implementation into
the serialized engine. Include the plugin revision and implementation
choice in the engine name and metadata so stale decoders are ignored
instead of being paired with incompatible plugin code. Keep the plugin
revision stable across unrelated vendor bumps so they do not force a
1.2 GB decoder rebuild. Existing engines remain beside the new artifact
for rollback.

Also accept git worktrees as DEMON_SA3_SRC overrides.
@ryanontheinside
ryanontheinside force-pushed the ryanontheinside/chore/sa3-current-upstream-pin branch from 3395004 to b00a1f2 Compare August 17, 2026 19:16
The repin to c076985 drops optimized/tensorRT/build/build_dit_fp8.py
from the vendored tree — the ModelOpt PTQ builder lives in Stability
PR #47 and was never merged upstream, so it exists at the old fork
head and not at the new pin.

Both places that told an operator to run it were therefore shipping an
impossible remedy: the DIT_FP8_ONNX_FILES comment and, worse, the
RuntimeError raised when --fp8 runs without --fp8-onnx, which is the
one an operator hits at the moment they need it to be true.

Point them at what is actually there instead. make_calib.py,
build_dit_bf16.py and transplant_scales.py are all still vendored, but
the transplant consumes a dit_fp8_calib.onnx only #47 produces, so the
honest answer is that the graph cannot be produced from the pinned tree
alone and has to arrive via --fp8-onnx. Every path the new text names
was checked to exist at c076985.

Comments and one error string; no logic change. DIT_FP8_ONNX_FILES is
deliberately left alone — repointing the sidecar at dit_fp8lin.onnx.data
is still gated on someone building and parity-checking an engine from it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@leszko
leszko merged commit a04b93f into main Aug 18, 2026
@leszko
leszko deleted the ryanontheinside/chore/sa3-current-upstream-pin branch August 18, 2026 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants