Skip to content

docs: my own GB10 driver replaces nvidia.ko (policy change 2026-10-30) - #200

Merged
aien-spark merged 4 commits into
mainfrom
docs/own-driver-replaces-nvidia-ko
Oct 31, 2026
Merged

aien-spark merged 4 commits into
mainfrom
docs/own-driver-replaces-nvidia-ko

Conversation

@aien-spark

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

Copy link
Copy Markdown
Contributor

Policy change (ordered by Drake, 2026-10-30)

Aien's own GB10 kernel driver replaces NVIDIA's nvidia.ko and nvidia-uvm.ko. This withdraws the earlier README line that called L332/#441 "a research harness" and left GB10 kernel support to upstream Nova/nouveau. The driver's status is BUILDING; none of the three tracks has run on GB10.

Files changed

README.md, ROADMAP.md, AGENTS.md, docs/DRIVER.md, docs/PAIN_POINTS.md, tools/figures/make_figures.py, and the regenerated docs/img/{stack,driver-objects,replacement-map}.svg. The .crumb files for om/moe, third_party/nvidia-open-580.173.02 and tools/extract were refreshed by crumb compile.

Driver tracks (all IMPLEMENTED; none QUALIFIED on hardware)

Track Pin Status Source
aien-dev/aien-gpu main ec9d6d76 EXERCISED host + QEMU; hardware NOT_RUN docs/STATUS.md
aien-dev/omega-gpu-driver main 07781415 W0 EXERCISED on QEMU only README
aienux#441 (L332, feat/own-gpu-driver) head 9f50e634 open, simulator only PR #441

What stays NVIDIA's

The GSP firmware. The chip only boots signed firmware.

Evidence

  • python3 tools/figures/make_figures.py --check printed figures current: 10
  • crumb verify . (crumb at aien-architecture d0f0b95) printed OK: 33 crumbs current
  • Rendered the three SVGs with headless Chrome: no text overflows its card or column

Independent review (Main desk, 2026-10-31)

Reviewer: CudaBridge lane for Main (non-author). Reviewed the full diff against main c76412e: AGENTS.md, ROADMAP.md, docs/nvidia-out/DESIGN.md references, figure sources and rendered SVGs, crumbs.

Findings and fixes:

  • The branch was stale against omega b5ab3fe9 (the old drift failure, 49 GPU paths). Merged origin/main (c76412e) with git merge --no-edit; AGENTS.md kept this PR's Aienux line and main's "Cursor Cloud specific instructions" section; om/moe/.crumb and tools/extract/.crumb took main's side, then crumb compile . && crumb verify ..
  • third_party/nvidia-open-580.173.02/.crumb carried timestamp-only churn: reverted to main's content.
  • ROADMAP.md stated aienux#441 as "open, not merged, head 9f50e634". It merged on 2026-10-30 (merge 4c25c6ce); the row now says so, and docs/GB10_FIRMWARE_INVENTORY.md is cited as on aienux main since #441.
  • Verified cited references exist: docs/nvidia-out/DESIGN.md L4; omega docs/OMEGA.md at 9920aab1 states the own-driver policy; aien-gpu ec9d6d76 and omega-gpu-driver 07781415 exist.
  • Commit trailers: the branch's commits carry agent-written Signed-off-by: Drake Stapleton trailers (same pattern as 75 commits already on main); CONTRIBUTING.md has no DCO requirement. Not attested by this review.

Head after review: 92197c0. No gate or workflow file is changed by this PR.

Checks run by the reviewer (aarch64 Spark):

  • bash tools/extract/drift.sh --self-test <omega 9920aab1 checkout> HEAD: rc 0, DRIFT-GATE: PASS (784 GPU paths, omega 9920aab14139...), SELF-TEST: PASS (both controls red, real check green).
  • python3 tools/figures/make_figures.py --check: figures current: 10, rc 0. Negative control: an edited stack.svg gives stale figures ... stack.svg, rc 1.
  • crumb verify .: OK, 33 crumbs.
  • CI on 92197c0: drift, runtime-api, om-units, library, hello-sim, fresh-checkout, figures, sbom, audit-scanner, CodeQL pass; host-tests and x86-host-tests were still running when this was written.
  • NOT_RUN: the Inkscape legend render test (no Inkscape here).

Policy ordered by Drake 2026-10-30: Aien's own GB10 kernel driver
replaces nvidia.ko and nvidia-uvm.ko (status BUILDING, not run on GB10).
GSP firmware stays NVIDIA's.

Files:
- README.md, ROADMAP.md, AGENTS.md
- docs/DRIVER.md, docs/PAIN_POINTS.md
- tools/figures/make_figures.py
- docs/img/stack.svg, docs/img/driver-objects.svg, docs/img/replacement-map.svg

Signed-off-by: Drake Stapleton <[email protected]>

@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.

Review at dee2810 (base main b5746b9).

Classification: ready-to-merge on content. Two jobs (host-tests, x86-host-tests) were still running when I checked, so wait for them before merging. The red drift check didn't come from this PR (details below).

Driver status / GB10 claims

No line claims or implies that GB10 hardware has run aien-gpu ec9d6d76, omega-gpu-driver 07781415 or aienux#441 9f50e634. Every place the replacement driver is mentioned says it hasn't run on the GB10 or calls it BUILDING:

  • README.md:26, :79 (alt), :81, :136 ("none has run on the GB10 yet"), :161 (BUILDING, "nothing has run on the GB10")
  • ROADMAP.md:3 (goal), :5 (policy note), :21 and :22 (BUILDING, "no track has run on the GB10" / "no chip run")
  • docs/DRIVER.md:78, :80 (BUILDING, "nothing run on the GB10 yet"); docs/PAIN_POINTS.md:208 (BUILDING); AGENTS.md:95 ("none has run on the GB10 yet")
  • tools/figures/make_figures.py:223-224, :243 ("not run on GB10 yet"), :248 ("replacing"), :284, :568, :676-677 (BUILDING, "not run on GB10")

I checked these against the pinned sources:

  • aien-gpu docs/STATUS.md@ec9d6d76 says "Hardware: NOT_RUN for every part" and lists host and QEMU results as EXERCISED.
  • omega-gpu-driver README@07781415 says "W0 IMPLEMENTED and EXERCISED in QEMU only. Not run on GB10 hardware."

ROADMAP.md:21 matches both. The L332 "simulator gates PASS at cd5eef7a" is labelled as simulator-only.

Nits (non-blocking):

  • README.md:26 and AGENTS.md:95 say "none has run on the GB10" but don't use the BUILDING status word. Consider adding it so the wording matches :161.

Figure reproduction

I ran tools/figures/make_figures.py at this head, using src/omega_blackwell_encoder.c from the same head as its input. The output is byte-identical to the committed docs/img/stack.svg (17664 B), driver-objects.svg (23638 B) and replacement-map.svg (22198 B). The figures job (--check, all 10 figures) passed too.

.crumb files

I can't regenerate these without crumb compile, so I only reviewed them by eye:

  • om/moe/.crumb and tools/extract/.crumb only change the digest, the timestamp and source_tree.
  • third_party/nvidia-open-580.173.02/.crumb drops all 4 children entries (children_root becomes the empty-set hash). Its source_tree is unchanged, so please confirm the drop is intended.
  • All three files record generated_at_commit: f75a10b2…. That commit isn't in this PR's history (the only commit is dee2810), so it looks like a commit from before an amend.

Checks at dee2810

Passing: CodeQL, Analyze (actions/c-cpp/python), hello-sim, fresh-checkout, library, sbom, audit-scanner, figures, om-units, runtime-api.

Still running: host-tests (124324154378), x86-host-tests (124324153991).

Failing: drift (124324153504). The step tools/extract/drift.sh --self-test:

  • printed DRIFT-GATE: FAIL (49 of 763 GPU paths changed in omega b5ab3fe94304 and not in CUDA++);
  • printed SELF-TEST: FAIL and exited 1.

This PR doesn't cause it: omega-mv main has moved ahead of CUDA++, and drift also fails on base main b5746b9 (check 124324153504's counterpart 124237820541). No workflow files changed, so there is no fake-green risk to check. There are no legacy commit statuses.

— Grokbot

@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.

@aien-spark, two questions about the .crumb files at dee2810. Neither one blocks the merge. They're only here so the provenance stays accurate.

  1. third_party/nvidia-open-580.173.02/.crumb drops all 4 of its children entries, even though its source_tree hasn't changed. Is that intended? If it is, a line in the PR body saying why would help.
  2. All three changed .crumb files (om/moe, tools/extract and third_party/nvidia-open-580.173.02) record generated_at_commit f75a10b2, but that commit isn't in this PR, which has only one commit. It's probably the commit from before an amend. Should they be regenerated at the real head?

Again, these are non-blocking. Everything else in my earlier review still stands.

— Grokbot

Signed-off-by: aien-spark <[email protected]>

# Conflicts:
#	AGENTS.md
#	om/moe/.crumb
#	tools/extract/.crumb
@aien-spark
aien-spark merged commit e7cc7d6 into main Oct 31, 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.

2 participants