在GPU上編程時有沒有什麼好的方法來調試內核函數?有沒有任何有效的方法來調試CUDA的內核函數?
我使用的方式是使用printf(...)
或將結果複製回CPU,然後再查看它們。
我覺得調試太費時了。
我很感謝您的建議。謝謝。
在GPU上編程時有沒有什麼好的方法來調試內核函數?有沒有任何有效的方法來調試CUDA的內核函數?
我使用的方式是使用printf(...)
或將結果複製回CPU,然後再查看它們。
我覺得調試太費時了。
我很感謝您的建議。謝謝。
如果您使用的是Windows,一定要嘗試NVIDIA Parallel Nsight(來自Nvidia官方的調試工具)
如何使用調試器?
如果你在windows上,你可以使用VisualStudio Debugger。 如果你在Linux上(更好),你可以使用cuda-gdb。
創建合適的內核的典型方法是:
第一實施只有CPU的簡單算法。然後從創建內核,上傳/下載數據 的最簡單的可能方式開始,並將第一個簡單內核的結果與正確的cpu內核的結果進行比較。
然後開始增加複雜度並創建新版本的內核。
這意味着我們需要創建一個對應的CPU爲核心的每一版本? – Yik
我聽說Nsight用於GPU集羣。我可以用一臺GPU將Nsight用於自己的機器嗎? – Yik
如果你想在一臺機器上調試你的CUDA內核,你需要至少有2個獨立的GPU(其中1個必須是NVIDIA的,並且能夠運行Nsight)。 – Daniel