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

5
这是我的情况。我在Windows机器上编写了CUDA应用程序,使用putty将其编译和运行到远程Linux(Debian)服务器(没有图形输出)。
我想问一下,调试和分析应用程序的最佳方法是什么。我读到了关于Nvidia产品Parallel Nsight和Parallel Nsight Monitor的一些内容。这是唯一的方法吗?
3个回答

1
使用Nsight Eclipse Edition 6.0,远程运行、调试和分析CUDA应用变得非常方便和易于操作。一切都可以通过一键完成。为了能够进行远程调试,需要在远程机器上安装CUDA SDK 5.5版本以及远程分析工具版本6.0。
有关详细信息,请参见Nsight Eclipse documentation

1
你可以使用Cuda命令行分析器(http://docs.nvidia.com/cuda/profiler-users-guide/index.html#compute-command-line-profiler-overview)。 你需要导出几个环境变量,并且驱动程序将生成包含你的程序CUDA调用的跟踪文件。 然后,你可以在Windows下导入此文件到Nvidia Visual Profiler中并进行浏览。
另外,你可以通过一些X服务器通过ssh转发X,并在Linux机器上运行分析器,但如果你和远程机器不在同一个网络中,我不建议这样做。

您还可以从命令行启动VNC服务器,然后使用远程VNC客户端连接到该服务器。这样即使没有root访问权限,也可以在远程机器上运行X程序。 - tera
Nxclient是远程连接Linux服务器的最佳方式。 - talonmies

1

Allinea DDT 可以通过 X-forwarding 或远程模式来处理此类情况下的 CUDA 应用程序调试。在远程模式下,您可以将应用程序运行在 Linux CUDA 机器上,并在 Windows 机器上运行调试用户界面。源代码可以在 Windows 或 Linux 端之一 - 具体取决于您的情况。

性能分析工具 Allinea MAP 不提供任何 CUDA 工具支持,但可以为您提供整个应用程序的概览,包括等待 CUDA 内核完成所花费的时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接