tools: Omega-QVLA dit_svdquant_v1 pack → E0M3/UE4M3 converter + format doc + synthetic fixture - #179
Conversation
c12e822 to
32f02a5
Compare
|
Audit fixes are pushed in The PR is now limited to its actual Milestone 1 surface. The converter validates all selected records and fails on unsupported format/rank/shape/rotation/permutation/scale metadata; full-pack conversion defaults to a strict 252-record gate. Output is atomic and records explicit schema/coverage metadata. The checker now has a real artifact round-trip: Validation completed locally:
The Thor host was offline and the real 252-record pack was not present locally. The PR body now lists the remaining pre-merge hardware gates precisely: direct fixture packed/SFB GEMM round-trip, then real-pack 252/252 conversion and representative direct artifact GEMM checks. No model E2E is needed for this offline-only PR. |
Scope
Offline tooling for converting Omega-QVLA
dit_svdquant_v1rank-0 packs into the packed E0M3 weight and tile-interleaved UE4M3 SFB format consumed by FlashRT's existing SM110 GEMM.This PR does not add a frontend, pipeline, runtime consumer, server, CUDA graph, CMake source, pybind symbol, or public Python API. It has no effect on existing model inference or default builds.
Included:
tools/convert_omega_pack_e0m3.py: schema validation and offline conversion.tools/check_omega_e0m3_layer.py: CPU emulation plus direct converted-artifact GEMM verification on Thor.tools/gen_omega_pack_fixture.py: deterministic four-record synthetic fixture.docs/omega_pack_e0m3.md: Milestone 1 format and reproduction contract.Audit follow-up
Commit
7355c3c6addresses the merge review:--validate-onlyfor schema and coverage checks.weights,aux, andselected_layersmust cover the same set.--out.--artifactto the checker. This path quantizes only the activation and feeds the artifact's storedpackedandsfbtensors directly tocutlass_fp4_gemm_e0m3w; it fails when artifact-vs-fp16 cosine is below--min-artifact-cos..gitignorefrom global*.ptto/artifacts/omega_e0m3/*.pt.Reproduce
CPU validation and emulation:
python tools/gen_omega_pack_fixture.py --out /tmp/fixture_pack.pt python tools/convert_omega_pack_e0m3.py \ --pack /tmp/fixture_pack.pt --out /tmp/unused.pt --validate-only python tools/check_omega_e0m3_layer.py \ --pack /tmp/fixture_pack.pt --mode emulateThor direct artifact round-trip:
python tools/convert_omega_pack_e0m3.py \ --pack /tmp/fixture_pack.pt --out /tmp/fixture_e0m3.pt --fold none python tools/check_omega_e0m3_layer.py \ --pack /tmp/fixture_pack.pt --artifact /tmp/fixture_e0m3.pt \ --mode kernel --min-artifact-cos 0.98Full pack conversion defaults to a strict
252/252coverage gate. Use--expected-recordsonly for a deliberately different complete pack.Validation
13 passed.py_compilepassed.git diff --check: passed.weights_only=True.4/4passed.The Thor host was offline during this audit follow-up, and the real 252-record pack was not available locally. Before merge, rerun the two hardware gates introduced here: fixture
packed/SFB direct GEMM round-trip and real-pack252/252conversion plus representative direct artifact GEMM checks. Cross-platform model E2E is not required because this PR has no runtime integration.