diff options
Diffstat (limited to 'docs/03-architecture/04-uvm.md')
| -rw-r--r-- | docs/03-architecture/04-uvm.md | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/docs/03-architecture/04-uvm.md b/docs/03-architecture/04-uvm.md index b879572..4c8a0c9 100644 --- a/docs/03-architecture/04-uvm.md +++ b/docs/03-architecture/04-uvm.md @@ -50,17 +50,20 @@ Each stage has a distinct failure signature; our debugging docs map them. | Requirement | Detail | Our status | |---|---|---| | 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, but the engine list / CE capabilities are missing the async copy engine (`COPY14`) โ the current context-creation blocker | +| 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 and the inventory now includes the async copy engine; completion/semaphore plumbing is the current frontier | | 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); no kernel is forwarded to the physical GPU yet | | 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 | ๐ด | | Semantics of completions | tracker values must advance exactly | ๐ก | -**Current blocker (2026-09-23):** `cuCtxCreate` returns `rc=999` -(`CUDA_ERROR_UNKNOWN`) because the emulated engine list lacks the async copy -engine (`COPY14`); teardown of the failed context still oopses in the guest -kernel in `uvm_pmm_devmem_page_to_va_space` (twice per boot). The CUDA-side +**Current frontier (2026-09-29):** the client reaches `cuCtxCreate` and +currently ends in a forced `rc=999` on a completion wait; the engine inventory +is complete, and the remaining work is completion translation plus the chosen +execution backend +([`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 contract and reply rules are in [`../../userspace/cuda/docs/03-driver-and-gpu-interface.md` ยง9](../../userspace/cuda/docs/03-driver-and-gpu-interface.md) and |
