summaryrefslogtreecommitdiffstats
path: root/docs/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/README.md')
-rw-r--r--docs/README.md48
1 files changed, 26 insertions, 22 deletions
diff --git a/docs/README.md b/docs/README.md
index 13f0ae5..95ef85c 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -98,7 +98,7 @@ and [`01-orientation/02-the-ai-edge-and-ecosystem.md`](01-orientation/02-the-ai-
## 3. Where is the project today?
-**Honest status (2026-10-02):**
+**Honest status (2026-10-30):**
A dated snapshot of this status, refreshed on every progress check, is kept at
[`../STATE-CURRENT.md`](../STATE-CURRENT.md).
@@ -111,28 +111,30 @@ A dated snapshot of this status, refreshed on every progress check, is kept at
| GSP-RM controls: device/fb/bus tables, CE caps, vaspace, GMMU static info | 🟡 Mostly — the engine inventory now includes the async copy engine and the CE capabilities match the device; reply fidelity for the remaining consumed fields is still being tightened |
| Guest `nvidia.ko` probe, `nvidia-smi` | ✅ Working (TU104) |
| Guest CUDA driver (`libcuda`) startup | ✅ Driver-API baseline — `cuInit`, device enumeration, `cuCtxCreate`, `cuMemAlloc`, copies, free and destroy complete end to end; the smoke test prints `ALL OK` and the 64-byte payload round-trips exactly (64/64, re-verified 2026-10-02 on the current build). See [`04-implementation/01-known-knowns-and-unknowns.md`](04-implementation/01-known-knowns-and-unknowns.md) and [`../userspace/cuda/READ-ME-FIRST.md`](../userspace/cuda/READ-ME-FIRST.md) |
-| CUDA kernel execution | 🟡 A stock guest program now reaches its kernel launch and submits it through the forwarding path; the front-end fetches the ring entry and executes methods, but the inline launch-descriptor (QMD) install has not been observed and no grid has dispatched yet. Context validity at dispatch is ruled out; the frontier is the launch method-stream form. Copy-engine-class work, its releases and its fault relay remain forwarded (parameters default off). See [`04-implementation/03-execution-frontier.md`](04-implementation/03-execution-frontier.md) and [`03-architecture/11-physical-backend-guest-wiring.md`](03-architecture/11-physical-backend-guest-wiring.md) |
-| OpenGL / Vulkan | 🔴 Not yet |
-| Windows guest | 🔴 Not yet |
-| Multi-tenant isolation (VFs, mdev-per-VM) | 🟡 Designed, partially implemented |
-
-We also know exactly where the CUDA bring-up stands and what the next step is:
-the userspace `libcuda` segfault was fixed (an RM allocation reply now echoes
-the request parameters instead of returning zeros), the engine inventory is
-complete, and the driver-API smoke test now completes end to end — `cuCtxCreate`
-returns and the 64-byte payload round-trips exactly (64/64, re-verified
-2026-10-02 on the current build). The full
-mechanism, with offsets and the decompiled call path, is in
+| CUDA kernel execution | ✅ Working — verified guest clients execute kernels on the physical GPU with engine-authored completions relayed to the guest: the vector-add (`VADD n=32768 bad=0`), matrix-multiply (`MATMUL n=256 bad=0`) and transformer (`dh=256 seq=64 bad=0`, `FFN4 layers=4 bad=0`) clients print `STATUS OK` on fresh boots, and `vecadd_loop` passes 100 launches. Remaining: the staged-transfer class (some large multi-chunk clients still mis-verify; failure modes proven), the every-boot acceptance campaign, and per-guest execution isolation. See [`04-implementation/03-execution-frontier.md`](04-implementation/03-execution-frontier.md) and [`03-architecture/11-physical-backend-guest-wiring.md`](03-architecture/11-physical-backend-guest-wiring.md) |
+| OpenGL (3D graphics) | 🟡 In progress — the X server and GLX run on the emulated vGPU with the stock driver; the engine executes real GL method streams (verbatim 3D replay and synthesized launches); a direct GL client creates its channels and its readback path returns clean. Rendered (non-black) frames are the frontier. See [`04-implementation/05-graphics-execution-plan.md`](04-implementation/05-graphics-execution-plan.md) |
+| Vulkan | 🟡 In progress — the guest Vulkan pipeline runs end to end on the emulated vGPU (device, allocation, pipeline, command buffer, fence, queue submit, readback); frames are still black — program delivery and program-VA mapping are the frontier |
+| Windows guest | 🔴 Not yet (target) |
+| Multi-tenant isolation (mdev per VM) | 🟡 Two mediated devices with different emulated VRAM sizes and two guests coexist; per-guest execution isolation for simultaneous CUDA guests is in progress |
+
+Guest CUDA now executes on the physical GPU: the driver-API path completes end
+to end, forwarded launches reach the engine, the grid dispatches, the engine
+authors the completion and the host relays it, and the guest's synchronisation
+waits resolve (verified with vector-add, matrix-multiply and transformer
+clients on fresh boots). The mechanism, with offsets and the decompiled call
+path, is in
[`../userspace/cuda/docs/05-570.144-decompilation.md`](../userspace/cuda/docs/05-570.144-decompilation.md).
-The remaining frontier is guest-facing execution. Copy-engine-class copies and
-their releases are forwarded to real hardware with release relay and fault
-relay in place (parameters default off). For GR (graphics/compute), the guest
-now reaches and submits a real kernel launch: the ring entry is fetched and
-front-end methods execute, but the inline launch-descriptor install has not
-been observed and no grid has dispatched yet. The wall is the form of the
-forwarded launch method stream — not context validity, which is ruled out at
-dispatch. The chain, the evidence and the live investigation lines are in
-[`04-implementation/03-execution-frontier.md`](04-implementation/03-execution-frontier.md).
+The remaining CUDA work is breadth and hardening: the staged-transfer class
+(some large multi-chunk clients still mis-verify; the failure modes are
+proven), the every-boot acceptance campaign, and per-guest execution isolation
+for simultaneous guests. Graphics shares the same submission machinery and is
+the other active frontier: the X server and GLX run on the emulated vGPU, the
+engine executes GL method streams, and the guest Vulkan pipeline runs end to
+end — rendered (non-black) pixels are the wall. The chain, the evidence and the
+live investigation lines are in
+[`04-implementation/03-execution-frontier.md`](04-implementation/03-execution-frontier.md)
+and
+[`04-implementation/05-graphics-execution-plan.md`](04-implementation/05-graphics-execution-plan.md).
The backend, a module-owned GPU running its real GSP firmware as the
resource-manager server, is specified in
[`03-architecture/08-physical-gpu-integration.md`](03-architecture/08-physical-gpu-integration.md);
@@ -183,6 +185,8 @@ Read in order if you are new. Jump directly if you know what you need.
| 23 | [GSP in a RISC-V VM (risc-v-gsp-rm-debugger, experimental)](05-operations/03-risc-v-gsp-rm-vm.md) — implemented, documented and tested ([audit](../debug/risc-v-gsp-rm-vm/docs/27-TOOL-AUDIT.md); [value demos](../debug/risc-v-gsp-rm-vm/docs/25-VALUE-VALIDATION.md)) | developers, analysts | 15 min |
| 24 | [risc-v-gsp-rm-debugger user guide (experimental)](05-operations/04-risc-v-gsp-rm-debugger-user-guide.md) — implemented, documented and tested ([audit](../debug/risc-v-gsp-rm-vm/docs/27-TOOL-AUDIT.md); [value demos](../debug/risc-v-gsp-rm-vm/docs/25-VALUE-VALIDATION.md)) | developers, analysts | 15 min |
| 25 | [Defensive Operations Runbook](RUNBOOK.md) | maintainers, operators | 20 min |
+| 25a | [GPUBreach-class audit and threat model](05-operations/05-gpubreach-audit.md) | developers, auditors | 15 min |
+| 25b | [Real-render walls: Vulkan and Xorg on the emulated vGPU](04-implementation/04-real-render-walls.md) | developers, debuggers | 10 min |
| 26 | [Engineering operations](eng-ops.md) — tool admission and workflows (Part I) plus live physical-backend operations (Part II) | maintainers, developers | 20 min |
| 27 | [Hardware and software matrix](06-portability/hardware-software-matrix.md) | developers, integrators | 20 min |
| 28 | [Developer onboarding and standards](07-developers/onboarding-and-standards.md) | contributors | 20 min |