diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-23 07:05:45 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-23 07:05:45 -0400 |
| commit | 2aafde5cc3679020d8b31277c03d70fd6908384c (patch) | |
| tree | a3d89236459b5586e5a4d0c3b2b1b574fbfb274b /tools/guest-diag/push_guest_tools.sh | |
| parent | 7fdbe8713c8cf746cd1a15e93e0de39d333905c7 (diff) | |
| download | open-iov-2aafde5cc3679020d8b31277c03d70fd6908384c.tar.gz open-iov-2aafde5cc3679020d8b31277c03d70fd6908384c.zip | |
userspace/cuda: libcuda analysis tree (debug-focused), guest ioctl tracer
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 -> 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.
Diffstat (limited to 'tools/guest-diag/push_guest_tools.sh')
| -rwxr-xr-x | tools/guest-diag/push_guest_tools.sh | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/guest-diag/push_guest_tools.sh b/tools/guest-diag/push_guest_tools.sh index a2a3dbb..517296f 100755 --- a/tools/guest-diag/push_guest_tools.sh +++ b/tools/guest-diag/push_guest_tools.sh @@ -22,10 +22,12 @@ echo "[*] pushing sources..." push_b64 "$HERE/ptrace_ioctl.c" /tmp/ptio.c push_b64 "$HERE/guest_engines.c" /tmp/ge.c push_b64 "$HERE/rmq_probe.c" /tmp/rmqp.c +push_b64 "$HERE/ioctl_trace.c" /tmp/iot.c push_b64 "$REPO/tools/test/cuda_drv_test.c" /tmp/cdt.c echo "[*] compiling in guest..." "$VMEXEC" exec "gcc -O1 -w -o /tmp/ptio /tmp/ptio.c && \ gcc -O1 -w -o /tmp/ge /tmp/ge.c && \ gcc -O1 -w -o /tmp/rmqp /tmp/rmqp.c && \ +gcc -O1 -w -o /tmp/iot /tmp/iot.c && \ gcc -O1 -o /tmp/cdt /tmp/cdt.c -ldl && echo BUILD_OK" |
