Nvidia發佈了CUDA 5的擴展日食。他們也有VS2010的Nsight插件。在VS2010中,我們可以停止內核斷點處的程序執行,但是如何在Linux上的eclipse中實現這個功能?我沒有看到任何特定的按鍵來停止執行。我試圖改變觀點,但它調試爲一個正常的C/C++應用程序。我正在使用帶有Linux的Tesla C2070,Intel Xeon 8核心機器。CUDA 5調試器5
回答
我來自Nsight Eclipse Edition團隊。
我們的目標是專門將應用程序作爲普通的C/C++應用程序進行調試。這意味着無論您調試主機代碼還是設備代碼,都可以設置斷點,使用「run to line」等。
基本上,這個過程是Eclipse的相當標準:
- 創建一個項目(你也可以導入現有的可執行文件)
- 點擊調試按鈕
- 調試器將運行,默認情況下將在打破主功能。請注意,設備上沒有發佈設備代碼,因此您只能看到主機線程。
- 設置設備代碼中設置斷點和命中簡歷(請注意,斷點視圖工具欄還允許您設置的任何CUDA內核啓動斷點)時,設備代碼到達斷點
調試器將打破。您可以使用可視化調試器UI檢查應用程序狀態。
Eugene, 我剛剛安裝了Cuda 5,並且我無法打破任何內核代碼。這是一個乾淨安裝的centos 5.5,新下載cuda-5,並且我正在安裝一個gtx260m的華碩g71x筆記本電腦上運行。
我想也許你不能在一臺設備上運行display和dedbug,所以我切換到非nv x display,但仍然有同樣的問題,不能停止在內核代碼中。
我認爲在Linux上不可能使用調試工具。 – 2012-08-27 15:50:01
@TMB - 這種回覆應該作爲對尤金答案的評論而不是本身的回答。這樣,我們保持所有答案的相關性,並且SO更容易被其他用戶閱讀。歡呼:) – sjwarner 2012-08-27 21:46:28
調試器無法在設備代碼中中斷的一些常見原因如下: 1.相同的GPU用於CUDA調試和OS UI。 Nsight Eclipse Edition調試器需要專用GPU。 2.由於某種原因,CUDA API調用失敗。確保您檢查CUDA API調用的返回值。 3. CUDA工具包未正確安裝。常見問題之一是系統上安裝了錯誤的NVIDIA驅動程序版本。 – Eugene 2012-09-04 22:34:33
您是否試過CUDA 5.0 RC1?它現在可用。你可以下載並嘗試它。我已經嘗試過Nsight,它適合調試。
此致敬禮!
304.43 NVIDIA驅動程序不允許除根以外的用戶調試其CUDA應用程序。
該問題不存在於任何過去或未來的公開發布中。 CUDA文檔建議僅使用CUDA DevZone中列出的驅動程序。 304.43司機不是其中之一。
這可能是也可能不是你打的問題。但我認爲這值得一提。
夫婦的事情,並不確定哪個解決了問題。驅動程序更新到最新的RC5.0,但我選擇運行VNC服務器,而不是本機X服務器。然後,CUDA卡專門用於我的應用程序和調試,它的功能如同一種魅力,現在可以從任何地方訪問。
這真的是個答案嗎? 「我做了幾件完全不同的事情,現在突然變得有效了」?也許這可能是一個評論,而不是。 – 2012-11-02 14:36:33
- 1. surf3Dwrite與CUDA 5
- 2. CUDA 5與CUDA 4兼容
- 3. 並行的CUDA 5和CUDA 4.2
- 4. 錯誤cudaMemcpyToSymbol使用CUDA 5
- 5. 在CUDA工具包5
- 6. Laravel 5.調試模式
- 7. Silverlight 5 - 調試npctrl.dll崩潰
- 8. GPGPU CUDA調試服務器
- 9. javascript計算器5 + 5 = 55?
- 10. AS3 - 嘗試放置5行5格
- 11. 樓調查5
- 12. 如何使用CUDA 6.0和XCODE 5
- 13. CUDA 5 NSIGHT設置彙編標誌
- 14. 調試CUDA - CudaUnknownError
- 15. 步驟來調試在MVC 5項目
- 16. Rails 5調試在生產模式
- 17. Qt Creator的5 - 沒有調試設置
- 18. 重試Ajax調用錯誤5秒
- 19. .Net中的調試設置5
- 20. 如何在Xcode 5中調試NSPreferencePane?
- 21. 試圖在CentOS 5
- 22. 包CUDA技術的許可7-5被CUDA-庫
- 23. 「調試器已退出,由於信號5(SIGTRAP)」,只有在未調試時
- 24. Corona SDK:iPhone 5調整
- 25. Ajax調用 - MVC 5
- 26. 的Xcode 5調試器不打印對象
- 27. 使用RubyMine 5調試Rails Server:哪臺服務器?
- 28. 如何在模擬器上調試「用代碼5退出」
- 29. Xcode 5在調試導航器中未顯示iCloud
- 30. 調試CUDA代碼
它不適用於我:(我可以在'cuda-gdb'中設置斷點,但是當我嘗試在eclipse中做同樣的事情時,它不會停止,它僅在主函數中停止,即使我沒有設備代碼 – janisz 2013-07-26 21:20:55
@janisz可能有以下幾個原因:在Nsight EE調試器中運行時,您的應用程序運行是否成功完成?如果您導入CUDA示例,可以中斷嗎?你是從終端仿真器還是控制檯運行cuda-gdb? – Eugene 2013-07-26 23:37:58
我能夠在終端中調試應用程序,但是當我在Eclipse中設置斷點時,我得到''沒有加載符號表,在控制檯日誌中使用「file」命令。我試圖改變配置(隨機點擊)someting,但沒有什麼幫助,應用程序與適當的標誌建立。最後,下面的步驟解決我的問題:右鍵單擊項目>調試爲>本地C/C++應用程序。它將我切換到調試模式,所有斷點工作。現在,當我點擊綠色的bug時,它也可以工作。我插入第二張卡,我甚至可以刪除內核代碼:) Elipcse不像VS – janisz 2013-07-27 10:43:34