diff options
Diffstat (limited to 'docs/04-implementation/01-known-knowns-and-unknowns.md')
| -rw-r--r-- | docs/04-implementation/01-known-knowns-and-unknowns.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/04-implementation/01-known-knowns-and-unknowns.md b/docs/04-implementation/01-known-knowns-and-unknowns.md index 0c8e50f..084afc8 100644 --- a/docs/04-implementation/01-known-knowns-and-unknowns.md +++ b/docs/04-implementation/01-known-knowns-and-unknowns.md @@ -67,6 +67,18 @@ listed as an unknown-unknown has a *method* by which we will discover it. * The client's page-table contract for server-owned ranges is explicit (`COPY_SERVER_RESERVED_PDES`) — and its leaf levels are *empty*, i.e. ours to populate. +* **End-to-end CUDA works in emulation mode.** A stock CUDA program in the + guest (device properties, `cudaMalloc`, a GPU-authored string kernel, two + 4 MB host-to-device copies, a 1 M-element `vectorAdd`, and the + device-to-host copy-back) completes with `bad=0` against the host-computed + reference and the expected checksum. The host-side bridge executes the + client's kernels on the physical GPU, and the emulated CE path stages the + data in and out. Two correctness invariants are required and verified: + a decoded copy executes at most once per GPFIFO entry identity, and every + virtual operand is translated per 4 KB page (see + [`../03-architecture/06-host-module-and-hybrid-model.md`](../03-architecture/06-host-module-and-hybrid-model.md) §4.4). + The acceptance is deterministic across consecutive supervised cycles + (identical input/output hashes and checksum). ### 1.4 Operational |
