Toccata in Nowhere.

无Root权限安装/更新 CUDA & cudnn

2020.03.31

适用于服务器集群等无root情况下安装或更新CUDA,并安装机器学习依赖cudnn。

依赖

  • Linux 服务器,通常没有root权限
  • nVidia显卡,需支持CUDA

CUDA

下载CUDA

最新版本 CUDA 10.2

前往下载:https://developer.nvidia.com/cuda-downloads

旧版本

前往 https://developer.nvidia.com/cuda-toolkit-archive
选择对应的系统架构版本下载

可以在下载的时候复制地址在服务器上使用 wget 下载。

安装 CUDA

下载或scp到服务器后,确定文件名后缀为 *.run

  1. 新建文件夹 mkdir cudaXXX,其中XXX为目标安准的CUDA版本,方便多版本区分。
  2. 切换到新建的文件夹 cd cudaXXXpwd复制 当前文件夹路径备用,之后cd ..返回上级目录。
  3. 运行安装文件 sh *.run 开始安装:
    • 不同版本的 CUDA 安装不尽相同,但基本思路都是不勾选 driver installation,不link cuda
    • 安装时配置安装目录,粘贴之前复制的文件夹路径即可。
    • 可能有几个安装选项不知道是否需要root权限,多次尝试即可,常见 的错误就是权限错误。

修改环境变量

修改 .bashrc.bash_profile或其他shell的.rc文件中关于CUDA路径的export,如原有安装CUDA,可注释后添加。

export PATH=$/home/userName/cudaXXX/bin:$PATH”
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$/home/username/cudaXXX/lib64/

之后 source ~/.bachrc或其他的rc文件更新修改即可。

cudnn

下载 cndnn

前往下载:https://developer.nvidia.com/cudn

需要nVidia Developer账号,注册即可。 这里不能使用wget直接下载,推荐在本地下载完成后使用scpsftp上传。

安装 cudnn

  1. 切换到 cudnn 包所在的目录后,tar -xzvf *.tgz解压
  2. 拷贝文件(注意修改文件名)
cp cuda/include/cudnn.h cudaXXX/include/
cp cuda/lib64/libcudnn* cudaXXX/lib64
chmod a+r cudaXXX/include/cudnn.h cudaXXX/lib64/libcudnn*