【CUDA学习】内核程序调试
调试工具 cuda-gdb,网上有英文版的说明文档。
其中大部分调试命令和gdb的调试命令相同。
cuda程序分为主机端程序和设备端程序,主机端程序调试也就是C语言程序的调试
主要是设备端程序,关键点也就是如何进入设备端程序。
调试时,编译选项 -g -G
-g 说明程序是Debug版, -G生成相应的设备端代码
进入设备端程序,需要在设备端入口程序设置断点
大致的流程如下:
break test_kernel
thread <<<N>>> (进入单个线程)
接下来就可以按C语言程序的方法进行调试
在设备端程序时,有些变量的值不能打印出来
这些变量存储在显存中,无法打印
基本方法:选择编译选项,设置断点,进入设备端程序,选择单个线程,按C语言程序的方法进行调试。