h3-spark / docs /VALIDATION.md
Frosty40's picture
DGX Spark serving config: source, kernels, receipts, validated env
7e782ef verified
|
Raw
History Blame Contribute Delete
4.73 kB

Validation ledger

All entries below are bounded CPU/source gates unless explicitly labeled as a seconds-scale CUDA gate. No validation step in this repository requires a model load or render.

Promoted Q deployment

Gate Result
Focused Q/linear/RMS/gate/SwiGLU integration 51 passed
Q native source contracts 6 passed
Supplied-amax consumer structural contracts 11 passed
Release artifact/source manifest checks pass
One-shot 20,423-row release parity pass in 2.8 s

Release parity covered default and non-default streams and required exact Q, Q scale, K, BF16 attention output, output-amax marker, consumer triplet, and version deltas [1, 1, 1]. Artifact hashes and every boolean are recorded in labs/q_deployment/QUALIFICATION_RECEIPT.json.

Static coexistence and hook certificate

Gate Result
Finalized Q/static candidate aggregate 62 passed
Real StaticScalePlan cross-consumer lifecycle 2 passed
Static-scale plan 20 pytest cases + 15 unittest subtests
RMS/AdaLN static adapter 40 passed
Gate/RMS/AdaLN static adapter 29 passed
Aggregate frozen audit 153 pytest cases + 15 unittest subtests

The lifecycle suite proves normal activation, suppression in the presence of pre-existing hooks, rejection of a foreign hook added after activation, exact attribute restoration, and coexistence across Q/direct/SwiGLU/RMS/gate consumers. The final artifact rebind and exact acceptance render are GO.

The path-neutral rebind receipt pins model source d7b196cc..., architecture b5808954..., and artifact b3b4aee7.... The generic verifier passed 196 layers and 3,920 calls with max ratio 0.917149 and the four required dynamic exclusions.

Final serving acceptance

The exact 20-step, 20,423-row fixed-reference workload workflow completed successfully at 147.0 s sampler (7.35 s/step), 213.0 s executor, and 213.8 s wall. Runtime logs reported 196 static layers applied and the four required dynamic fallbacks. The path-neutral receipt is docs/final_acceptance_receipt.json; the generated media is excluded.

Static native gate

The single approved production-shape gate ran on a non-default stream with no warmup and one repetition. It passed byte equality for the gated residual, qualified rstd, packed FP4, and E4M3 scales; the residual version delta was one. The candidate saved 0.514368 ms/path and the whole command completed in 1.231 seconds. Generated binaries are excluded; their hashes and resource report remain in compact JSON.

Cross-block candidate

CPU/source: 29 adapter/model-integration cases, including the loop-owned blocks_replace identity tests. The candidate is rebased onto the finalized Q/static integration model.

Seconds-scale CUDA gate gate_cuda.py --rows 20423 passed in 1.567 s on GB10 / SM 12.1. Default and non-default streams were byte-exact for the gated residual, packed FP4, E4M3 scales, dynamic global scale, and rstd; both producer and adapter paths advanced the residual version once; materialize matched stock _mod_gate. Receipt: labs/crossblock_gate_qkv/gate_crossblock_20423.json.

Same-branch source notes: labs/crossblock_gate_qkv/AUDIT.md. Independent audit GO: labs/crossblock_gate_qkv/INDEPENDENT_AUDIT.md (mutation/hooks/fallback/streams/identity; live adapter matches lab; live model.py only adds first-block cache and disables it when cross-block is auto). Live serving smoke and 20-step FixedRef renders succeeded with crossblock_gate_qkv_fusion=auto and dynamic NVFP4. Warm paired FixedRef executors: stock 179.1 s, auto 180.8 s (auto − stock = +1.7 s; includes VAE/MP4). 0.511881 s remains a kernel projection. The accepted static artifact refused an architecture fingerprint mismatch against live model.py. The path is still HOLD for the serving default (stock). Receipt: labs/crossblock_gate_qkv/live_ab_20260812.json.

2026-08-13 identity overlay

VAE tile-batch, VAE SwiGLU native, identical-ref encode/vision/Lanczos, step-invariant DiT caches, and audio Snake/filter caches landed in the source overlay. Unit tests live in integration/comfyui/tests/test_h3_*.py. First-block skip algebra is not exact (labs/first_block_cache/). Cross-block serving default remains stock. Kitchen GEMM clone hunt is closed; do not retry those tiles.

Repository curation gate

Before each handoff commit:

  • compile every tracked Python file;
  • run focused CPU/source suites with CUDA hidden;
  • run git diff --check;
  • reject tracked binaries, media, build products, raw traces, and caches;
  • scan tracked content for absolute host paths, secrets, and credentials; and
  • verify a clean worktree after commit.