我想知道什麼是JCuda項目(如果存在)的最佳調試器。
我知道,對於普通的CUDA應用程序,有像cuda-gdb和cuda-memcheck這樣的工具,我不知道我是否可以使用它們中的任何一個或類似的JCuda項目。
謝謝!Debug JCuda程序
3
A
回答
4
您應該可以使用常規的CUDA調試器(例如Nsight或cuda-gdb)來調試JCuda應用程序中的GPU代碼。您可以使用Java調試器(例如Eclipse)來調試Java代碼。 雖然沒有可以無縫調試Java和CUDA代碼的調試器。
1
在Linux上,您可以使用Nvidia Nsight(cuda-gdb)。
要設置一個啓動可執行文件調試會話:
- 推出Nsight 爲根(奇怪,但必要對我來說)
- 轉到運行菜單>調試配置...
- 右擊 「C/C++應用程序」,選擇新建
- 在主菜單選項卡
- 集日È可執行(字段C/C++的應用)到
/usr/bin/java
或任何正確的路徑
- 集日È可執行(字段C/C++的應用)到
- 在Arguments標籤
- 設置啓動參數,例如
-jar target/MyApp.jar
- 設置工作目錄
- 設置啓動參數,例如
- 在調試器選項卡下
- 設置「CUDA GDB init文件」路徑(見下文) 個
- 設置附加選項,如使CUDA MEMCHECK
因爲Java採用分段故障內部對某些人來說,聰明的目的,您將需要創建以下GDB選項,點到爲文件「CUDA GDB init文件」。請注意,通過設置此選項,您將無法在自己的JNI代碼中捕捉到分段錯誤錯誤。這應該不成問題。
handle SIGSEGV nostop noprint pass
如果編譯與調試符號您的內核,你就可以對其進行調試。
相關問題
- 1. 如何導出CUDA(jcuda)程序
- 2. Air Mobile應用程序-debug
- 3. debug cgi C++應用程序
- 4. JCuda錯誤:undefined symbol:Pointer_buffer
- 5. 在eclipse中執行jcuda程序時出錯
- 6. 程序僅從Debug/Release目錄運行
- 7. rails:eclipse/aptana中的debug rails應用程序
- 8. OSX Java Remote Debug打包應用程序
- 9. JCuda編譯器錯誤
- 10. cublasSgemm與jcuda的配合使用
- 11. JCUDA CUDA文件中未編制
- 12. 如何在jcuda中獲得CUDA內核?
- 13. jCuda指針函數中的索引
- 14. 如何釋放JCuda中的GPU內存作爲JCuda提供的免費功能,是不是在實時應用程序中釋放GPU內存?
- 15. WebDeploy和Debug build
- 16. Qt 5:Debug \ release和Release \ debug目錄
- 17. Ruby Debug IDE錯誤:ruby-debug-ide-0.4.9/lib/ruby-debug-ide.rb:109:`debug_load'
- 18. DEBUG VS _DEBUG
- 19. gstreamer debug builds
- 20. Debug Angular2 App
- 21. Word Addin Debug
- 22. Debug Assertion Failed VS2010
- 23. 混淆DEBUG宏
- 24. 比DEBUG
- 25. 科爾多瓦運行--debug建設空白應用程序
- 26. 部署應用程序的Debug版本的含義?
- 27. 從bin \ debug文件夾運行web應用程序
- 28. C#Google Chrome擴展程序,我的bin/debug路徑在哪裏?
- 29. 如何使用dos的DEBUG查找程序中斷
- 30. 應用程序驗證器DEBUG或RELEASE模式?
感謝您的答案,但我需要的是一個調試器,可以幫助執行設備代碼。我使用JCuda從Java啓動CUDA內核。我知道,本機CUDA代碼可以以某種方式進行調試,例如,顯示內存泄漏或其他優化的有用信息,但在這種情況下我不能使用這些信息。如果你可以提供一個例子或者一個教程,我可以遵循這個例子,那將非常棒! :) – Rorrim
您可以嘗試附加到Java進程來調試CUDA代碼。這就是你如何調試任何JNI代碼。 – Eugene
感謝您的建議。不幸的是,在Linux上我無法使用單個GPU進行調試,因此我會在Windows PC上嘗試它,並希望它能正常工作。 – Rorrim