summaryrefslogtreecommitdiffstats
path: root/docs/03-architecture/04-uvm.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 15:18:39 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 15:18:39 -0400
commit929646875d80408a21c642ca88ef70efbc0d736a (patch)
treedeb2946cc4407e4edcc6e3b56f37420e321acf40 /docs/03-architecture/04-uvm.md
parent039daee13c5bac50919eff1ca26977ac49e37b06 (diff)
downloadopen-iov-929646875d80408a21c642ca88ef70efbc0d736a.tar.gz
open-iov-929646875d80408a21c642ca88ef70efbc0d736a.zip
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.
Diffstat (limited to 'docs/03-architecture/04-uvm.md')
-rw-r--r--docs/03-architecture/04-uvm.md13
1 files changed, 8 insertions, 5 deletions
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