安装 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

并使其包含 includelib 文件夹(我猜你们中的大多数人都有这些本地文件夹)。

HOME/local/include
HOME/local/lib

然后下载 CuDNN 并将 CuDNN 文件夹中 includelib64 中的内容移动到本地 includelib 单独的文件夹(你刚刚制作的)

最后,将这两个环境路径添加到你的 .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 访问的主要内容,如果未能解决你的问题,请参考以下文章

Linux 非root用户安装cuda和cudnn

Android 无需root实现apk的静默安装

Vue.js请注意,mount不保证所有子组件也已安装?

安装CUDA和cuDNN

如何将最新的 cuDNN 安装到 conda?

CUDA与cuDNN安装教程(超详细)