CUDA-MEMCHECK
1.Introduction
CUDA-MEMCHECK是一个在CUDA toolkit 中的功能性的正确性检查组件。
这个suite有4个工具 :
memcheck
The memcheck tool is capable of precisely detecting and attributing out of bounds and misaligned memory access errors in CUDA applications.
在Memcheck工具能够精确检测和归因CUDA应用的出界和未对齐的内存访问错误。该工具还报告GPU所遇到的硬件例外。
racecheck
report shared memory data access hazards that can cause data races.
报告shared memory 的会造成data race 的数据访问错误;
initcheck
report cases where the GPU performs uninitialized accesses to global memory。
报告当GPU来执行为初始化的到 global memory 的访问;
synccheck
report cases where are application is attempting to use CTA synchronization in divergent code。
报告当应用程序试图在分歧代码里调用 CTA 同步操作的时候。
memcheck 既可以独立的安装,也可以集成在cuda toolkit 里,但是集成在cuda toolkit里的只有第一种功能。
2.Using CUDA-MEMCHECK
1.独立使用
$$cuda-memcheck [options] app_name [app_options] $$
2.在cuda gdb 使用
$$(cuda gdb) set cuda memcheck on$$
更多详见NVIDIA DOCS
http://docs.nvidia.com/cuda/cuda-memcheck/#about-cuda-memcheck