The Wayback Machine - https://web.archive.org/web/20130510065907/https://developer.nvidia.com/cuda-gdb

NVIDIA Developer Zone

CUDA-GDB

When developing massively parallel applications on the GPU, you need a debugger capable of handling thousands of threads running simultaneously on each GPU in the system.  CUDA-GDB delivers a seamless debugging experience that allows you to debug both the CPU and GPU portions of your application simultaneously.

If you already use GDB to debug your CPU application then getting started with CUDA-GDB involves learning just a few additional debugger commands. Just like GDB, CUDA-GDB provides a console-based debugging interface you can use from the command line on your local system or any remote system on which you have Telnet or SSH access. If you prefer debugging with a GUI frontend, CUDA-GDB also supports integration with DDD, EMACS or Nsight Eclipse Edition

   

 

CUDA-GDB Feature Set Overview

CUDA-GDB supports debugging of both 32 and 64-bit CUDA C/C++ applications. It provides full control over the execution of the CUDA application including breakpoints and single-stepping. You can examine variables, read/write memory and registers and inspect the GPU state when the application is suspended. Third party developers can leverage CUDA-GDB powerful features directly, see CUDA Samples, which can be downloaded with the latest CUDA Toolkit .


(Click to zoom)

CUDA-GDB on Linux and MAC
>  Debug CUDA C and C++ applications directly on the GPU
>  Simultaneously debug threads on the CPU and thousands of threads executing in parallel on one or more GPUs
>  Debug at either high-level C/C++ source or low-level GPU assembly
>  Use conditional breakpoints to identify and correct errors in CUDA code
>  Identify memory access violations
>  Break on every kernel launch without explicitly setting breakpoint on each kernel
>  Use the autostep mode to detect errors more precisely
>  Debug multiple instances of your application using multiple instances of CUDA-GDB
>  Selectively assert in CUDA code
Run CUDA-MEMCHECK in integrated mode to detect precise exceptions.


(Click to zoom)

*New* Features in 5.0 include:
> Dynamic Parallelism Support
> Attach/Detact applications
> Attach on exception
> API Error Reporting
> Inlined Subroutine Support

Debugging Desktop and Graphics Applications with CUDA-GDB
>  Debug CUDA applications that use OpenGL interop on systems with multiple GPUs
>  Remotely debug CUDA application that use OpenGL interop on single GPU system from non-interactive mode on X.

Developers should be sure to check out NVIDIA Nsight for integrated debugging and profiling. Nsight Eclipse Edition for Linux and MAC support, and Nsight Visual Studio Edition for Windows.

CUDA Debugging on Clusters

NVIDIA partners with the following vendors to provide cluster-class debugging solutions for CUDA applications:

Questions on CUDA Tools

If you encounter difficulty with any of the CUDA Tools or have more questions please contact the NVIDIA tools team at cudatools@nvidia.com