Skip to content

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

compute-sanitizer: functional correctness checking suite for CUDA programs

Available

  • Puhti: 2022.2.0
  • Mahti: 2021.3.0

License

Usage is possible for both academic and commercial purposes.

Usage

compute-sanitizer is a functional correctness checking suite included in the CUDA toolkit (starting from version 11). In order to use the tool, the CUDA code has to be compiled with the extra flags -g and -G.

Debugging is started in an interactive session by running:

compute-sanitizer  --tool <tool> ./cuda_program
where <tool> is one of the several sub-tools for different type of checks:

  • memcheck: is capable of precisely detecting and attributing out of bounds and misaligned memory access errors in CUDA applications. It can also report hardware exceptions encountered by the GPU (default)

  • racecheck: can report shared memory data access hazards that can cause data races.

  • initcheck: can report cases where the GPU performs uninitialized accesses to global memory

  • synccheck: can report cases where the application is attempting invalid usages of synchronization primitives