diff options
Diffstat (limited to 'docs/03-architecture/02-guest-stack-and-cudasw.md')
| -rw-r--r-- | docs/03-architecture/02-guest-stack-and-cudasw.md | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/docs/03-architecture/02-guest-stack-and-cudasw.md b/docs/03-architecture/02-guest-stack-and-cudasw.md index 4ec614b..115f639 100644 --- a/docs/03-architecture/02-guest-stack-and-cudasw.md +++ b/docs/03-architecture/02-guest-stack-and-cudasw.md @@ -88,8 +88,21 @@ open /dev/nvidia* → cuInit → UVM registration (per process) ``` The initialization path is where compatibility is won or lost; the runtime -path is where *execution* is won or lost. Open-IOV's current focus is the -runtime path (forwarding), having already reached the end of initialization. +path is where *execution* is won or lost. Open-IOV's current focus is +pre-forwarding correctness: `cuInit` / `cuDeviceGet` succeed, but context +creation returns `rc=999` (`CUDA_ERROR_UNKNOWN`) because the emulated engine +list lacks the async copy engine (`COPY14`); the forwarding decision +(host-RM proxy vs direct submission) is still ahead (see +[`../../userspace/cuda/docs/08-virtualization-approaches.md`](../../userspace/cuda/docs/08-virtualization-approaches.md)). + +For the CUDA userspace side of this stack — its architecture, how it is built +and executes, and the exact kernel/GPU interface contract we must satisfy — +see [`../../userspace/cuda/docs/01-architecture.md`](../../userspace/cuda/docs/01-architecture.md), +[`../../userspace/cuda/docs/02-build-and-execution.md`](../../userspace/cuda/docs/02-build-and-execution.md) +and +[`../../userspace/cuda/docs/03-driver-and-gpu-interface.md`](../../userspace/cuda/docs/03-driver-and-gpu-interface.md), +starting from +[`../../userspace/cuda/READ-ME-FIRST.md`](../../userspace/cuda/READ-ME-FIRST.md). ## 5. What the guest expects from the device, per phase |
