What is Compute Sanitizer?
A suite of runtime correctness tools for CUDA memory accesses, shared-memory races, synchronization and uninitialised data.
compute-sanitizer runs an ordinary CUDA executable under instrumentation. Its four main tools answer different questions: memcheck finds invalid accesses and leaks, racecheck finds shared-memory hazards, synccheck checks synchronization, and initcheck follows uninitialised device data. NVIDIA documents the tools and their command-line modes in the Compute Sanitizer guide (https://docs.nvidia.com/compute-sanitizer/ComputeSanitizer/index.html, checked 2026-09-01).
The important limit is that a clean report means only that this tool found nothing. Day 62 measured a visibly wrong divergent-barrier kernel that synccheck reported as zero errors. Keep the program's own correctness gates. The sanitizer diagnoses classes of bugs; it does not prove the algorithm.
Measured
On a Tesla T4 with driver 595.84, CUDA 12.6 (V12.6.85), day 61 passed every output check when run bare. Memcheck still found one invalid global read. In kernel-destruction mode with leak checking, it found that read, 25 invalid shared writes and one leaked 24,604-byte allocation, 27 errors total. The fixed build reported zero errors and zero leaked bytes.
Related terms
Where you meet this
- Day 61, Compute Sanitizer, the measured introduction.
- Day 62, racecheck and synccheck, where clean and dirty reports are compared with visible output.
- Illegal memory access, the common failure memcheck localizes.
Sources
- NVIDIA Compute Sanitizer documentation, for the four tools and their scopes: https://docs.nvidia.com/compute-sanitizer/ComputeSanitizer/index.html (checked 2026-09-01)
Byline
Written by: pending. Reviewed by: pending. Written on: pending. Last checked on: pending. The numbers came from the verification node on 2026-09-01.