【问题标题】:CUDA - Running NVVP on remote computer, showing results on local computer with no CUDA enabled deviceCUDA - 在远程计算机上运行 NVVP,在没有启用 CUDA 的设备的本地计算机上显示结果
【发布时间】:2013-04-02 17:00:14
【问题描述】:

至少我们中的一些人在远程服务器上开发我们的 CUDA 代码。它们通常仅通过 SSH 连接提供访问。可以在远程计算机上使用这样的命令分析 CUDA 应用程序(或内核)

nvprof -o profile.out -s ./prog args

然后将“profile.out”下载到本地计算机。

我的问题是,是否可以在没有启用 CUDA 的设备的计算机上使用可视化分析器打开此文件?是否有任何其他工具可以打开此类文件并提供与 Visual Profiler 相似或更丰富的信息。

我确实收到这样的错误“无法找到 CUDA 库并与 CUDA 驱动程序建立连接。确保 CUDA 和 CUDA 运行时库位于您的库路径中。有关更多信息,请参阅安装指南。Visual Profiler 将退出现在”。

一些参考资料:

【问题讨论】:

  • 如果您使用 X 转发(ssh -Xssh -Y),您可以使用 nvvp 直接在远程计算机上进行分析。您不需要在远程机器上运行 X。您确实需要在本地计算机上运行 X,但不必安装 NVIDIA GPU 或 CUDA。
  • 我通过使用 nvprof 在远程机器上进行配置,而不使用 X 转发。我的目标是显示生成的配置文件输出并获得视觉分析器提供的建议。

标签: cuda terminal profiling remote-server


【解决方案1】:

使用 CUDA 5.5 附带的 nvvp 版本,我能够在未配备 CUDA 的机器上运行 nvvp 以打开 nvprof 生成的配置文件。

这是在 Fedora 20 下。为了让它工作,我做了以下工作:

  1. https://developer.nvidia.com/cuda-downloads下载CUDA 5.5的RUN版本
  2. 安装工具包:

    sh cuda_5.5.22_linux_64.run -overide -toolkit -toolkitpath=$HOME/usr/cuda
    
  3. 提取驱动安装程序:

    sh cuda_5.5.22_linux_64.run -extract=/tmp
    
  4. 从驱动安装程序中提取驱动文件:

    cd /tmp
    sh ./NVIDIA-Linux-x86_64-319.37.run -a -x
    
  5. 将驱动程序库链接到 nvvp 将找到的名称:

    cd NVIDIA-Linux-x86_64-319.37
    for i in *.so.319.37; do ln -s $i ${i/.319.37/.1}; done
    
  6. 设置 LD_LIBRARY_PATH 以便 nvvp 将在解压后的目录中搜索库:

    export LD_LIBRARY_PATH=/tmp/NVIDIA-Linux-x86_64-319.37
    
  7. 运行 nvvp 并导入 nvprof 文件。

NVVP 将显示配置文件,它看起来很合理,但 YMMV 和我不声明其正确性。

【讨论】:

  • 一种更简单的方法是添加 cuda 存储库并安装 cuda-visual-tools。然后可以在 /usr/local/cuda-X.X/bin 中找到 nvvp。在 Fedora 20 上为我工作。
【解决方案2】:

NVIDIA Visual Profiler 无法在没有 NVIDIA GPU 的系统上运行。我们将考虑在未来的 CUDA Toolkit 版本之一中引入远程分析器。

【讨论】:

【解决方案3】:

在我的大学里,我们编译代码并通过 MobaXterm 使用 SSH 从服务器运行 nvvp。 因此,即使我的笔记本电脑没有 NVidia 显卡,我也可以使用 nvvp。

【讨论】:

  • 谢谢高拉夫。尽管这是一个解决方案,但我一直在寻找 XForwarding 以外的解决方法。我的主要目标是能够随时随地在任何计算机上打开生成的分析文件。我将它们视为保存统计信息的文件,并认为我们可能不需要 NVIDIA gpu 来显示它们。也许第三方解决方案可能会有所帮助..
猜你喜欢
  • 1970-01-01
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-06
相关资源
最近更新 更多