远程调试和分析在Linux服务器上运行的CUDA程序

时间:2013-04-26 12:32:26

标签: debugging cuda profiling nsight

这是我的情景。我在Windows机器上编程我的CUDA应用程序。我使用putty在远程linux(Debian)服务器(没有图形输出)上编译和运行此应用程序。

我想问一下调试和配置应用程序的最佳方法是什么。我读了一些关于Nvidia产品Parallel Nsight和Parallel Nsight Monitor的内容。这是(唯一的)方式吗?

3 个答案:

答案 0 :(得分:1)

您可以使用Cuda命令行分析器(http://docs.nvidia.com/cuda/profiler-users-guide/index.html#compute-command-line-profiler-overview) 您需要导出一些环境变量,驱动程序将使用程序的CUDA调用生成跟踪文件。 您可以在Nvidia Visual Profiler中导入此文件并在Windows下浏览它。

你也可以在ssh上使用某个X服务器转发X并在linux机器上运行探查器,但如果你和远程机器不在同一个网络中,我不建议这样做。)

答案 1 :(得分:1)

Allinea DDT可以在这种情况下处理调试CUDA应用程序:通过X-forwarding或通过远程模式。在远程模式下,您将使用Windows计算机上运行的调试用户界面调试在Linux CUDA计算机上运行的应用程序。源代码可以在Windows端,也可以在Linux端 - 适合您的情况。

分析工具Allinea MAP不提供任何CUDA工具,但可以很好地概述整个应用程序的运行方式,包括等待CUDA内核完成所花费的时间。

答案 2 :(得分:1)

使用Nsight Eclispe Edition 6.0运行,在远程计算机上调试和分析CUDA应用程序变得非常舒适和轻松。一切都可以一键完成。为了能够使用远程调试,远程计算机上需要版本5.5的CUDA SDK和远程概要版6.0。

详细信息可以在Nsight Eclipse documentation中找到。