cuda-gdb 常用命令

cuda gdb
   
編譯:nvcc -g -G -o foo foo.cu
啓動:cuda-gdb foo
列表:list(縮略的指令l,以查看源代碼第81行附近的指令行。 l 81
設置斷點:break 函數名                 b office2007_kernel
          break 文件:行號             b office2007_gpu.cu:60
運行:run 參數                         r t1.txt
下一步:next,按enter執行上一步的next  縮略指令n
打印:print a,打印a的值               p blockIdx
      (print /x x)                    p threadIdx
                                       p gridDim
           p blockDim
繼續運行:continue(c),在一個斷點之後繼續運行程序
監視某個表達式:watch block0
查看某一個線程的數據:thread <<<170>>>,線程號爲170  ???
    cuda thread 10 可行
刪除斷點:delete b or d b
退出gdb:quit

CUDA-GDB提供了諸多CUDA專用的指令:
thread – 顯示現有重點主機和CUDA線程;
thread <<<(TX,TY,TZ)>>> - 轉換到在指定座標的CUDA線程
thread <<<(BX,BY),(TX,TY,TZ)>>> -轉換到在指定座標的CUDA塊和線程
info cuda threads – 顯示GPU上現有所有CUDA線程的全面總結
info cuda threads all – 顯示GPU上現有線程的列表。這個列表可能非常之長。
info cuda state – 顯示有關現有CUDA狀態的信息。
Next and step 指令的特殊語義:
在warp 等級,執行被推進,在同一個warp裏的所有線程,被當作現有CUDA線程,將進

行運算。
一個特殊情況就是:步入線程阻礙調用,__syncthreads(), 這就導致在阻礙之後立即

會設定一個隱式斷點。所有的線程都被延續到這個__syncthreads()之後的斷點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章