Skip to content

cuda-smoke

Version 2026.148.1730
Repo box/cachyos

Deterministic CUDA compute smoke test compiled with nvcc at build time Compiles a vector-add kernel with nvcc into /usr/local/bin/cuda-smoke; at runtime it allocates device memory, runs the kernel, verifies the result, and prints “CUDA-OK devices=” (exit 0) or “CUDA-FAIL” (exit 1). Composed on cachyos.nvidia to form the cuda-check image — the GPU-passthrough check runs it in a container in the VM to prove real device compute. Verifiable at build scope: the compiled binary exists.

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run copy=cuda_smoke.cu
run command=# Invoke nvcc from its real CUDA root (/opt/cuda) — the /usr/bin/nvcc # symlink makes nvcc detect root=/usr and miss /opt/cuda/include/crt/. # Pin the host compiler to g++-15 (CUDA 13.2 doesn’t support gcc 16). NVCC=/opt/cuda/bin/nvcc [ -x “$NVCC” ] || NVCC=“$(command -v nvcc)” “$NVCC” -ccbin /usr/bin/g++-15 -I/opt/cuda/include -o /usr/local/bin/cuda-smoke /tmp/cuda_smoke.cu rm -f /tmp/cuda_smoke.cu
check the nvcc-compiled cuda-smoke binary exists at /usr/local/bin/cuda-smoke
agent-check on a GPU-passthrough guest, cuda-smoke runs the kernel and prints CUDA-OK
check file=/usr/local/bin/cuda-smoke