
NVIDIA Compute SanitizerNVIDIA
NVIDIA Compute Sanitizer ensures GPU code correctness with tools for memory checks, race condition detection, and synchronization validation.
Vendor
NVIDIA
Company Website
Product details
NVIDIA Compute Sanitizer is a functional correctness checking suite designed to ensure the code correctness of GPU-accelerated kernels. This suite includes multiple tools that perform different types of checks, such as memory access validation, race condition detection, and synchronization validation. The Compute Sanitizer API enables the creation of sanitizing and tracing tools targeting CUDA applications. It is delivered as a dynamic library on supported platforms and is available through the NVIDIA Registered Developer Program and as part of the CUDA Toolkit.
Features
- Memcheck: Detects and reports out-of-bounds and misaligned memory accesses to global, local, and shared memory in CUDA applications. It also identifies memory leaks and hardware-reported errors.
- Racecheck: Identifies memory access race conditions in CUDA applications that use shared memory, helping to write programs free of shared memory races.
- Initcheck: Detects uninitialized device global memory access, ensuring memory is properly initialized before use.
- Synccheck: Validates the correct use of synchronization primitives, specifically __syncthreads() and __syncwarp() intrinsics, and their Cooperative Groups API counterparts.
Benefits
- Code Correctness: Ensures the functional correctness of GPU-accelerated kernels, reducing the risk of errors in CUDA applications.
- Enhanced Debugging: Provides advanced tools for detecting and correcting memory access issues, race conditions, and synchronization errors.
- Comprehensive Validation: Offers a suite of tools for thorough validation of CUDA applications, improving overall code quality.
- Developer Support: Available through the NVIDIA Registered Developer Program and as part of the CUDA Toolkit, providing access to extensive documentation and community support.