<feed xmlns='http://www.w3.org/2005/Atom'>
<title>open-iov.git/tools/test/cuda_drv_test.c, branch m33</title>
<subtitle>Open-IOV vGPU-IO: host-side GSP emulation for unmodified NVIDIA guest drivers
</subtitle>
<id>https://git.vgpu.io/open-iov.git/atom?h=m33</id>
<link rel='self' href='https://git.vgpu.io/open-iov.git/atom?h=m33'/>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/'/>
<updated>2026-09-30T09:38:31+00:00</updated>
<entry>
<title>guest-diag: cdt CDT_WAIT park-at-end (live memory inspection); run_cycle CDT_WAIT passthrough</title>
<updated>2026-09-30T09:38:31+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-30T09:38:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=4e4764e837309cc9730f288f544fd8c14ba90508'/>
<id>urn:sha1:4e4764e837309cc9730f288f544fd8c14ba90508</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guest-diag: run_cycle SKIP_OPS knob + cdt output on serial; cdt richer roundtrip diagnostics</title>
<updated>2026-09-30T08:41:06+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-30T08:41:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=b6500058b420dba35bf1e25a7308bf583a526bc8'/>
<id>urn:sha1:b6500058b420dba35bf1e25a7308bf583a526bc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gsprm: reply-latency logging + param dump cap; guest-diag: CDT_PAUSE, watcher reaping, wider CE stream window</title>
<updated>2026-09-30T04:06:42+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-30T04:06:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=2c001647e47455544739fc8f4e841c6b93cbe32f'/>
<id>urn:sha1:2c001647e47455544739fc8f4e841c6b93cbe32f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guest-diag: adaptive miss-driven pinner; cdt holds on failure for inspection</title>
<updated>2026-09-28T17:14:16+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-28T17:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=03d8df9ece5bd2d81703b3eeac07e4d889639674'/>
<id>urn:sha1:03d8df9ece5bd2d81703b3eeac07e4d889639674</id>
<content type='text'>
pin_miss_pages.sh watches the host journal for release-miss VAs, resolves
each page for the live cdt pid through the guest pagemap and injects it (the
injection rewinds the pump so releases consumed under a stale pin are
re-read); it re-pins when a new cdt pid appears.  cuda_drv_test prints
cuGetErrorName/String on failure and, with CDT_HOLD=&lt;seconds&gt;, stays alive so
the RM error record and tracker state can be inspected after cuCtxCreate has
given up.
</content>
</entry>
<entry>
<title>userspace/cuda: libcuda analysis tree (debug-focused), guest ioctl tracer</title>
<updated>2026-09-23T11:05:45+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-23T11:05:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=54ca82d81bacb56197a607d0039ca6a015f5ac44'/>
<id>urn:sha1:54ca82d81bacb56197a607d0039ca6a015f5ac44</id>
<content type='text'>
Analysis tooling for debugging CUDA execution in Open-IOV guests:
- userspace/cuda/570.144/: fetch a library from a running guest (nc),
  objdump helpers, crash ip -&gt; file vaddr + symbol mapping, and Ghidra
  headless import/analysis/decompile scripts (project kept so single
  functions decompile in seconds). The purpose is debugging correctness
  and performance of CUDA in Open-IOV VMs (not a reimplementation);
  extracted binaries and decompiled output are gitignored.
- tools/guest-diag/ioctl_trace.c: ptrace tracker for the NVIDIA driver
  ioctls of a child (libcuda issues raw syscalls, so LD_PRELOAD sees
  nothing). Decodes RM_ALLOC (class) and RM_CONTROL (cmd) arguments;
  this is how the cuCtxCreate crash sequence was captured.
- tools/test/cuda_drv_test.c: unbuffered + per-call markers so a crash
  identifies the CUDA call it happened in.
</content>
</entry>
<entry>
<title>Open-IOV: initial public release</title>
<updated>2026-09-23T09:46:43+00:00</updated>
<author>
<name>Open-IOV</name>
<email>dev@open-iov.org</email>
</author>
<published>2026-09-23T09:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=2302fc09080bad51c73f293294e19fd4db464eb0'/>
<id>urn:sha1:2302fc09080bad51c73f293294e19fd4db464eb0</id>
<content type='text'>
Open-IOV virtualizes NVIDIA GPUs so that unmodified guest drivers run with
real GPU functionality - CUDA first, 3D and video to follow - on unmodified
hosts, without a proprietary vGPU license and without patching any driver,
firmware or hypervisor.

Core principle: emulate the interface, pass through the work.

  kernel/     open-iov-vfio.ko - host VFIO mdev driver: virtual GPU device
              (PCI config space, BAR shadows, MSI-X), GSP boot emulation,
              GSP-RM message-queue/RPC emulation, memory model (GPU-VA to
              guest-PA discovery) and the semaphore-completion service that
              advances guest UVM progress.
  userspace/  libiov.so management API and examples.
  tools/      guest diagnostics, firmware analysis wrappers, RM probes.
  scripts/    stack manager, VM harness, build/load/test automation.
  config/     hardware/version profiles (the portability surface).
  docs/       documentation tree - start at docs/README.md.
  wiki/       long-form firmware and protocol deep dives.

Status: initialization works end to end for a stock 570.144 Linux guest on
Turing (TU104): driver probe, nvidia-smi, the full GSP-RM control battery,
object creation and the early CUDA/UVM start-up path. GPU work forwarding -
the step that makes CUDA kernels execute on real hardware - is the active
work item; see docs/04-implementation/01-known-knowns-and-unknowns.md.

License: BSD-3-Clause for the project; GPL-2.0 for kernel modules that link
GPL-only kernel interfaces. See LICENSE and docs/09-reference/legal-and-licensing.md.
</content>
</entry>
</feed>
