CUDA-GDB(1)——简介
安全二次方(security²)博客目录导读
CUDA-GDB用户手册,这是NVIDIA用于在Linux和QNX系统上调试CUDA应用程序的工具。
1. 简介
本博客介绍CUDA-GDB,这是NVIDIA® CUDA®针对Linux和QNX平台的调试器。
1.1. 什么是CUDA-GDB?
CUDA-GDB是NVIDIA用于调试在Linux和QNX上运行的CUDA应用程序的工具。CUDA-GDB是GNU项目调试器GDB的扩展。该工具为开发人员提供了一种调试在实际硬件上运行的CUDA应用程序的机制,使开发人员能够调试应用程序,而不会受到仿真和模拟环境可能引入的差异影响。
1.2. 支持的功能
CUDA-GDB旨在为用户提供一个无缝的调试环境,允许在同一应用程序中同时调试GPU和CPU代码。正如使用CUDA C编程是对C编程的扩展一样,使用CUDA-GDB调试也是对GDB调试的自然延伸。现有的GDB调试功能天然适用于主机代码调试,同时还提供了额外功能来支持调试CUDA设备代码。
CUDA-GDB支持调试C/C++和Fortran CUDA应用程序。Fortran调试支持仅限于64位Linux操作系统。
CUDA-GDB 允许用户设置断点、单步调试 CUDA 应用程序,并能检查和修改硬件上运行的任意线程的内存与变量。
CUDA-GDB支持调试所有CUDA应用程序,无论它们使用CUDA驱动API、CUDA运行时API还是两者兼用。
CUDA-GDB支持调试针对特定CUDA架构(如sm_75
或sm_80
)编译的内核,同时也支持调试运行时编译的内核(compiled at runtime),这被称为即时编译(JIT compilation)。
1.3. 关于本文档
本文档是CUDA-GDB的主要文档,其结构更类似于用户手册而非参考手册。文档后续部分将介绍如何安装和使用CUDA-GDB来调试CUDA内核,以及如何使用新增到GDB中的CUDA命令。同时提供了一些操作示例。假定用户已掌握用于调试主机应用程序的基本GDB命令。