diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 20:57:30 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 20:57:30 -0400 |
| commit | 104ef088554a3dc5e2362a0ce3d6b2e0ccc0f6d8 (patch) | |
| tree | 1843e80efb7b7d877cdcd743e0cf0978c5dcdfa7 | |
| parent | 662d3d49d6d43b33da72196d6e1060ed7cc043ab (diff) | |
| download | open-iov-104ef088554a3dc5e2362a0ce3d6b2e0ccc0f6d8.tar.gz open-iov-104ef088554a3dc5e2362a0ce3d6b2e0ccc0f6d8.zip | |
STATE-CURRENT: real-release rc=0 chain reached; execution backend is the frontier
- the per-push 8 s stall was pump bookkeeping (release-seen keyed on the
unchanged tracker-semaphore VA; rewind replays returning to the CE grace
path) - fixed; real-release init now completes in ~1 min
- the content rescue now parses the real method encoding, so NON_INC-headed
pushes validate and their releases land
- the queued launch's module image reaches the emulated vidmem; execution on
real hardware (docs/03-architecture/08 backend) is the next project
| -rw-r--r-- | STATE-CURRENT.md | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/STATE-CURRENT.md b/STATE-CURRENT.md index 3aae1ef..ee6cb5a 100644 --- a/STATE-CURRENT.md +++ b/STATE-CURRENT.md @@ -30,7 +30,7 @@ meant to execute on the physical GPU. | CUDA userspace: `cuInit`, `cuDeviceGetCount`, `cuDeviceGet` | ✅ | | `cuCtxCreate` returns | ✅ (the whole smoke test now completes) | | `cuMemAlloc` + `cuMemcpy` roundtrip (`ALL OK` in the smoke test) | ✅ payload roundtrip verified 64/64 in the guest | -| Full `nvidia-smi` output / kernel launch | 🟡 the static runtime now initializes (`rc=0`) and queues a kernel launch; execution awaits the backend | +| Full `nvidia-smi` output / kernel launch | 🟡 the static runtime now initializes end-to-end with **real releases** (`cudaGetDeviceCount`/`cudaSetDevice`/3×`cudaMalloc`/2×`cudaMemcpyHtoD`/`kernel launch`/`cudaGetLastError` all `rc=0`) and queues a kernel launch; execution awaits the backend | | CUDA kernel execution (`vectorAdd`) | ❌ not started (forwarding layer absent) | | Graphics (3D), video | ❌ | | Faults, multi-version, Windows, migration, multi-tenancy, performance | ❌ | @@ -78,12 +78,18 @@ chain succeeds. clock-domain probe inside libcuda (two device attributes) whose three legacy clock controls were answered with zeros; they are now populated with exactly the fields the helper checks. -- **Caveat**: the rc=0 init chain above was obtained in fast-release mode; - under real releases the runtime-init path still needs the pin/translation - work (the smoke-test baseline is already correct under real releases). -- Active work: (1) real-release delivery for the runtime init (pin/translation - work); (2) decode the queued compute-channel pushes into real submissions on - the physical GPU (the execution backend); then the synchronize/DtoH verify. +- **Real-release mode now reaches the same rc=0 chain**: the earlier + per-push 8 s stall was two pump bookkeeping bugs (release detection keyed on + an unchanged semaphore VA; rewind replays re-entering the CE grace path) - + both fixed, and the runtime init completes in ~1 min with real releases. + The content rescue also learned the real method encoding (NON_INC/IMMD/ + ONE_INC/END_PB headers). +- Active work: (1) rerun the driver-API smoke test (cdt2) on the current + module to confirm no regression, and confirm the two known gaps (GMMU walks + for runtime VAs, staging-VA resolution) are non-blocking; (2) the execution + backend: decode the queued compute-channel pushes into real submissions on + the physical GPU; then the synchronize/DtoH verify. The host is headless, + so a controlled device-ownership bring-up is feasible. Work resumed with no-watcher, real-release runtime cycles: a new commit delivers the UVM tracking releases without host-side pins, and one real-release, no-watcher run has reached `cudaGetDeviceCount` success; the |
