From 929646875d80408a21c642ca88ef70efbc0d736a Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Tue, 6 Oct 2026 15:18:39 -0400 Subject: docs: add the GR compute-launch frontier page and align execution status across the tree New page docs/04-implementation/03-execution-frontier.md describes the chain that must fire for a guest CUDA launch (guest push -> GPFIFO/front-end -> inline launch-descriptor install -> engine read/dispatch -> completion), where the leading edge is (the descriptor install path), how we know (front-end vs engine-authored observables and their limits), what is exonerated (context validity at dispatch, destination window mapping, fetch alignment, shared-buffer rule, parenting), the ranked issues (verbatim prelude targets, missing descriptor-virtualization control, sentinel hygiene), live investigation lines and labelled theories. Align every page that still said GR execution is blocked on engine-context validity to the current frontier, and add the new page to the README reading order (row 15, later rows renumbered). Docs only; no code. --- docs/03-architecture/04-uvm.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'docs/03-architecture/04-uvm.md') diff --git a/docs/03-architecture/04-uvm.md b/docs/03-architecture/04-uvm.md index 9396e6a..d4232e0 100644 --- a/docs/03-architecture/04-uvm.md +++ b/docs/03-architecture/04-uvm.md @@ -52,17 +52,20 @@ Each stage has a distinct failure signature; our debugging docs map them. | GPU identity | must match the uuid from RM | ✅ | | CE capabilities | per-engine support bits; UVM *requires* `supported && !grce && sysmem` for CPU_TO_GPU/GPU_TO_CPU channels | 🟡 the caps we answer are accepted, the inventory now includes the async copy engine, and CE copies are forwarded to the physical copy engine (default off) with engine-authored releases | | Channel creation | RM channel objects with GPFIFO/userd/instance parameters | ✅ objects created | -| Pushes executed | UVM's first action on a new channel is an *init push* followed by a semaphore-tracked wait | 🟡 the host decodes method streams and executes memsets, copies and semaphore releases in software (a bridge); CE-class copies and releases are additionally forwarded to the physical copy engine (default off); no GR kernel is forwarded yet (blocked on GR engine-context validity) | +| Pushes executed | UVM's first action on a new channel is an *init push* followed by a semaphore-tracked wait | 🟡 the host decodes method streams and executes memsets, copies and semaphore releases in software (a bridge); CE-class copies and releases are additionally forwarded to the physical copy engine (default off); for GR, a forwarded launch reaches the front-end but the inline launch-descriptor install has not been observed (see [`../04-implementation/03-execution-frontier.md`](../04-implementation/03-execution-frontier.md)) | | Page trees | UVM initializes page trees with its own pushes; the *server-owned* ranges must be populated by us | 🟡 | | Fault delivery | fault buffer + notification; replay/cancel semantics | 🟡 backend-side fault observation/relay exists (default off: notifier write + event post); the guest replay/cancel contract is open | | Semantics of completions | tracker values must advance exactly | 🟡 | -**Current frontier (2026-10-02):** context creation and the full CUDA +**Current frontier (2026-10-06):** context creation and the full CUDA driver-API smoke pass (`ALL OK`, copies matched); the execution backend is live and CE-class copies are forwarded to the physical copy engine (default -off) with engine-authored releases and a fault relay. GR kernel execution is -blocked on GR engine-context validity; the remaining UVM work is completion -translation and the guest-side fault replay/cancel contract +off) with engine-authored releases and a fault relay. For GR, a forwarded guest +launch reaches the front-end but the inline launch-descriptor install has not +been observed (context validity at dispatch is ruled out; see +[`../04-implementation/03-execution-frontier.md`](../04-implementation/03-execution-frontier.md)). +The remaining UVM work is completion translation and the guest-side fault +replay/cancel contract ([`08-physical-gpu-integration.md`](08-physical-gpu-integration.md)). Failed-context teardown has produced guest kernel oopses in `uvm_pmm_devmem_page_to_va_space` in earlier runs. The CUDA-side -- cgit v1.2.3