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=
Acceptance plan
Section titled “Acceptance plan”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 |