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
Note that NVIDIA® CUDA Toolkit 11.0 (and later) no longer supports development or running applications on macOS. While there are no tools which use macOS as a target environment, NVIDIA is making a macOS host version of cuda-gdb available from which you can launch debugging sessions on supported target platforms. You may download this and other macOS tools using the button below.
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 .
CUDA-GDB on Linux and MAC
(Click to zoom)
> Kernel launch stack information
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 firstname.lastname@example.org .