Is there a tool equivalent to a bounds checker or purify or valgrind for CUDA?
I'm basically looking for something that might tell me if I'm reading or writing outside of allocated memory.
Is there a tool equivalent to a bounds checker or purify or valgrind for CUDA?
I'm basically looking for something that might tell me if I'm reading or writing outside of allocated memory.
If you compile in emulation mode, you can use Valgrind itself to detect memory access problems in your kernels.
NVIDIA have released CUDA memcheck which does exactly this. It's available in the 3.0 beta toolkit, you'll need to be a registered developer to download it. In addition, NVIDIA have also release Nexus which is their debugger/profiler for Visual Studio 2008 (Vista/7/2008) and includes memory checking (see the features list).