Skip to content

Fix LDG MMIO GPU semantics with an Omega-owned oracle control - #172

Merged
drakestapleton merged 3 commits into
mainfrom
fix/sm121-ldg-mmio
Oct 30, 2026
Merged

drakestapleton merged 3 commits into
mainfrom
fix/sm121-ldg-mmio

Conversation

@aien-spark

@aien-spark aien-spark commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

Fixes #171. Separate from Ampere #170. Canonical baseline is c6977b4906229fe83f41103b7eff65b64a0986d6 (merged #169). Semantic implementation is 3c163287d27b6e5a5f5b90c15b61ac83d8f26e2d; final host-evidence/docs commit is 885e3201.

BW_IR_LDG_MMIO promises LDG.E.MMIO.GPU; EF is not an alias. The Omega encoder, declarative specification and retained C migration oracle agree on the corrected policy. The seeded Omega fixture owns the exact mnemonic, register, descriptor and address expectation plus wrong-EF control. Historical receipts stay immutable.

Final canonical HOST replay

  • Fresh complete before/after tools/sm121dis/corpus.sh captures: 773 / 773 SASS kernels, all byte-identical. No added, removed or changed kernels. Every producer succeeded.
  • Fresh complete test-native-artifact captures: four / four cubins, all byte-identical, including the copied tampering-control bundle. Both runs: 47 checks, zero failed.
  • test-sm121-mmio: PASS. Exact LDG.E.MMIO.GPU R4, desc[UR2][R8.64]; otherwise-identical EF refused with exit 4.
  • New fixture with the uncorrected canonical encoder: compile succeeds, execution refuses with exit 2 and zero output bytes.
  • test-om-units: PASS, all committed hosted/freest bindings regenerate byte for byte against the canonical bridge pin.
  • test-om-encoder: PASS; Omega/C parity on 68 golden instructions and 14 fixture programs; flipped-bit negative refused.
  • test-om-spec-encoder: PASS, including semantic and raw refusal controls. Initial invocation refused an incorrectly resolved sibling generator; explicit OMEGA_BRIDGE environment fixed the invocation without changing code or pins. Both logs retained.
  • Corpus missing/failing-producer controls: PASS.

Compiler SHA256 2c82480596bbdc50cda9626866209ef662d5834f278f839ff4ce0250c495029f (committed seed origin omega-mv e5b32567a7aff3ce594e3254a622a846a6cd190b). Local matching binary resides in an omega checkout at f1b9ecb5d13f3b7303c055a187fff06e802eb952.
Canonical bridge source 0c4cb9ff980af278890b231b994eaede4dc7621c; native generator SHA256 d3cfe0561696aad92164ddf11340522645cf6daf7af238835c3d3c61ecdef656.
Read-only NVIDIA nvdisasm 13.0.85, binary SHA256 bc40070d596fa49b81c0905ca1d05e457aaec071280f742997d4a0b511781b25.

Evidence and review

evidence/CUDAPP-SM121-MMIO/c697-final-host/corpus-impact.json records exact source hashes, complete inventories, archive identities, commands/statuses and log digests. Neighboring logs contain the final execution evidence; review.json is the scoped source review (not an independent review).
The original evidence/CUDAPP-SM121-MMIO/corpus-impact.json remains unchanged historical e843 evidence and is not relabeled canonical. Repository-local sm121dis README updated. No Omega harness guide affected: no language, compiler, ABI, bridge behavior, ownership or authority change.

Limits

Existing corpus does not cover op21; the exact-op fixture covers that gap. Generated binding/host archive bytes change; no captured existing kernel/cubin changes. This is not a claim about arbitrary external callers.
Complete make test suite: NOT_RUN in this targeted final replay. Remote CI is separate. GB10 cache behavior/device execution and RTX execution: NOT_RUN. No GPU opened, no live model or service touched, no deployed artifact replaced. Draft only; no merge or deployment requested/performed.

# Conflicts:
#	src/cudapp_om_units.c
#	src/cudapp_om_units.ident

@drakestapleton drakestapleton left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Classification: ready-to-merge. All checks green on cccf95a, no conflicts, not draft. The encoding fix is host-verified against nvdisasm 13.0.85 (773/773 SASS kernels and 4/4 cubins byte-identical; test-sm121-mmio exact LDG.E.MMIO.GPU with EF refused).

Note: GB10 device/cache behavior is NOT_RUN, so this should not be cited as on-device proof of MMIO ordering. Optional: attach a full make test log on cccf95a (the final replay skipped it; CI host-tests passed).

@drakestapleton drakestapleton left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Classification: ready-to-merge.

  • All checks green on cccf95a; not draft; mergeable, clean.
  • The encoding fix (LDG.E.MMIO.GPU, EF refused) is backed by host evidence: 773/773 corpus kernels byte-identical, Omega/C parity, nvdisasm 13.0.85 cross-check, negative controls.
  • No GPU-behavior claim is made; GB10 device/cache behavior is stated NOT_RUN, so this should not be cited as on-device proof of MMIO ordering.
  • Optional: attach a full make test log on cccf95a (the final replay was targeted; CI host-tests passed).

— Grokbot

@drakestapleton
drakestapleton merged commit 27bce88 into main Oct 30, 2026
15 checks passed
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.

sm121 BW_IR_LDG_MMIO emits EF instead of documented MMIO.GPU

2 participants