安装 CUDNN 用于一般用途,无需 root 访问
Posted
技术标签:
【中文标题】安装 CUDNN 用于一般用途,无需 root 访问【英文标题】:Installing CUDNN for general usage without root access 【发布时间】:2017-04-05 20:11:43 【问题描述】:我使用具有 CUDA 7.5 的服务器。但是服务器不涉及CUDNN。
是否可以安装 CUDNN,并设置所有与 CUDA 的链接,无需 root 访问权限,以供 ubuntu 14.04 上的所有应用程序使用?
我已经在此页面Installing cuDNN for Theano without root access 上实施了解决方案,但它对我不起作用。我已经通过建立 caffe 进行了验证; http://caffe.berkeleyvision.org/,我已经使用 cmake 进行了检查。我创建了一个目录 caffe/build 并从那里运行 cmake ..。如果配置正确,我会看到以下几行:
-- Found cuDNN (include: /usr/local/cuda-7.0/include, library: /usr/local/cuda-7.0/lib64/libcudnn.so)
-- NVIDIA CUDA:
-- Target GPU(s) : Auto
-- GPU arch(s) : sm_30
-- cuDNN : Yes
但我看到了
-- cuDNN : Not found
附:我还需要跑:https://github.com/rsennrich/nematus
在本地安装 CUDNN 并与服务器中的全局 CUDA 链接的最佳方法是什么?
【问题讨论】:
【参考方案1】:可以将 CuDNN 与安装在服务器中的 CUDA 一起使用,这是我为使其工作所做的工作。 首先,您只需在本地空间中创建一个文件:
Home/local
并使其包含 include 和 lib 文件夹(我猜你们中的大多数人都有这些本地文件夹)。
HOME/local/include
HOME/local/lib
然后下载 CuDNN 并将 CuDNN 文件夹中 include 和 lib64 中的内容移动到本地 include 和 lib 单独的文件夹(你刚刚制作的)
最后,将这两个环境路径添加到你的 .bashrc 文件中
export CPATH=$CPATH:$HOME/local/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/lib
这样就可以了。
顺便说一句,如果您在成功安装 CuDNN 后遇到“内存不足”的问题,请在运行代码之前在终端中输入此行:
export CUDA_VISIBLE_DEVICES=0
更改 GPU 设备。
【讨论】:
【参考方案2】:我在家中创建了一个单独的目录,用于使用 CuDNN 的共享对象和 .h 文件。然后我在 PATH 和 bashrc 中的 LD_LIBRARY_PATH 变量中添加了这个单独目录的路径。它对我有用。
【讨论】:
您能否详细说明您是如何做到的?你是如何添加路径的? 我在 Linux 中工作。所以我的 CUDA 目录的内容以这种方式显示 -[r0605639@joy cuda]$ ls include/ lib64/
而我的 .bashrc 中的相关条目如下所示:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export CPATH=$CPATH:/users/start2015/r0605639/cuDNN/copy:
以上是关于安装 CUDNN 用于一般用途,无需 root 访问的主要内容,如果未能解决你的问题,请参考以下文章