除錯工具 cuda-gdb,網上有英文版的說明文件。
其中大部分除錯命令和gdb的除錯命令相同。
cuda程式分為主機端程式和裝置端程式,主機端程式除錯也就是C語言程式的除錯
主要是裝置端程式,關鍵點也就是如何進入裝置端程式。
除錯時,編譯選項 -g -G
-g 說明程式是Debug版, -G生成相應的裝置端程式碼
進入裝置端程式,需要在裝置端入口程式設定斷點
大致的流程如下:
break test_kernel
thread <<<N>>> (進入單個執行緒)
接下來就可以按C語言程式的方法進行除錯
在裝置端程式時,有些變數的值不能列印出來
這些變數儲存在視訊記憶體中,無法列印
基本方法:選擇編譯選項,設定斷點,進入裝置端程式,選擇單個執行緒,按C語言程式的方法進行除錯。