12.04 中的 CUDA nvprof 分析器

12.04 中的 CUDA nvprof 分析器

我在 12.04 服务器上安装了最新的 CUDA 工具包和驱动程序。驱动程序运行良好:所有 NVIDIA 示例代码均可编译和运行,并且我已编写、编译和运行多个 CUDA 程序。前几天,我去使用新的 nvprof 命令行分析器,结果出现以下错误:

Error: unable to locate profiling library libcuinj64.so.5.0.35.

我仔细检查了 CUDA 库,发现该特定库确实包含在 LD_LIBRARY_PATH 中。(我使用了描述的方法这里)。运行ldconfig -v显示所有Cuda库都加载到LD_LIBRARY_PATH中:

/usr/local/cuda-5.0/lib:
    libcurand.so.5.0 -> libcurand.so.5.0.35
    libnpp.so.5.0 -> libnpp.so.5.0.35
    libcusparse.so.5.0 -> libcusparse.so.5.0.35
    libcufft.so.5.0 -> libcufft.so.5.0.35
    **libcuinj32.so.5.0 -> libcuinj32.so.5.0.35**
    libcudart.so.5.0 -> libcudart.so.5.0.35
    libnvToolsExt.so.5.0 -> libnvToolsExt.so.5.0.35
    libcublas.so.5.0 -> libcublas.so.5.0.35
/usr/local/cuda-5.0/lib64:
    libcurand.so.5.0 -> libcurand.so.5.0.35
    libcuinj64.so.5.0 -> libcuinj64.so.5.0.35
    libnpp.so.5.0 -> libnpp.so.5.0.35
    libcusparse.so.5.0 -> libcusparse.so.5.0.35
    libcufft.so.5.0 -> libcufft.so.5.0.35
    libcudart.so.5.0 -> libcudart.so.5.0.35
    libnvToolsExt.so.5.0 -> libnvToolsExt.so.5.0.35
    libcublas.so.5.0 -> libcublas.so.5.0.35

有问题的库以粗体显示。此时,旧命令行编译器工作正常,编译器本身工作正常,因此它似乎是 nvprof 特有的。

我不确定这是 Ubuntu 还是 NVIDIA 提供的 nvprof 版本。有人有在 12.04 甚至 12.10 下运行 nvprof 的经验吗?有人见过这个问题吗?我知道这是一个相当小众的问题,但你永远不知道。

更新:这个问题似乎在装有 CUDA 5.5(2013 年 8 月 1 日发布)的 Ubuntu 12.04 上仍然存在。修复仍然有效,您只需使用更新的库(见下文)。

答案1

我知道这已经过时了,但这仍然是 Google 上第一次发现这个问题,我想让人们知道如何修复它。查看 strace 告诉我它在任何路径中都找不到库(看起来它出于某种原因正在查看一组不同的文件夹)。无论如何,我只是将我的库副本链接到它正在查看的目录之一,它工作得很好。我运行了以下代码:

sudo ln -s `locate libcuinj64.so.5.0.35` /usr/lib/x86_64-linux-gnu/libcuinj64.so.5.0.35 

如果您想手动输入,可以单独运行locate命令,但如果您只有一个库副本,那么这个命令就可以正常工作。如果由于某种原因您没有上级目录,请先创建它:

sudo mkdir -p /usr/lib/x86_64-linux-gnu/

希望这可以帮助!

CUDA 5.5 更新:CUDA 5.5 的库是 libcuinj64.so.5.5.22。因此,一行命令是:

sudo ln -s `locate libcuinj64.so.5.5.22` /usr/lib/x86_64-linux-gnu/libcuinj64.so.5.5.22

答案2

这可能是由于未正确设置 $LD_LIBRARY_PATH。此环境变量应包含 CUDA 库的路径。示例:

setenv QUDA_INSTALL_PATH /usr/local/cuda/lib64 

setenv LD_LIBRARY_PATH $QUDA_INSTALL_PATH/lib64:$LD_LIBRARY_PATH

相关内容