【发布时间】:2013-08-02 08:04:57
【问题描述】:
我想知道 JCuda 项目的最佳调试器是什么(如果存在)。
我知道对于普通的 CUDA 应用程序,有 cuda-gdb 和 cuda-memcheck 之类的工具,我想知道是否可以将它们中的任何一个或类似的工具用于 JCuda 项目。
谢谢!
【问题讨论】:
标签: debugging cuda nsight cuda-gdb jcuda
我想知道 JCuda 项目的最佳调试器是什么(如果存在)。
我知道对于普通的 CUDA 应用程序,有 cuda-gdb 和 cuda-memcheck 之类的工具,我想知道是否可以将它们中的任何一个或类似的工具用于 JCuda 项目。
谢谢!
【问题讨论】:
标签: debugging cuda nsight cuda-gdb jcuda
您应该能够使用常规 CUDA 调试器(例如 Nsight 或 cuda-gdb)来调试 JCuda 应用程序中的 GPU 代码。您可以使用 Java 调试器(例如 Eclipse)来调试 Java 代码。 但是没有可以无缝调试 Java 和 CUDA 代码的调试器。
【讨论】:
在 Linux 上,您可以使用 Nvidia Nsight (cuda-gdb)。
设置启动可执行文件的调试会话:
/usr/bin/java 或任何正确的路径-jar target/MyApp.jar
由于 Java 在内部出于某些过于聪明的目的使用了分段错误,因此您需要使用以下 GDB 选项创建一个文件,并将其指向为“CUDA GDB 初始化文件”。请注意,通过设置此选项,您将无法在自己的 JNI 代码中捕获分段错误错误。这应该不是问题。
handle SIGSEGV nostop noprint pass
如果你用调试符号编译你的内核,你就可以调试它们。
【讨论】: