Skip to content

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for tips on data management.

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