跳转至

CUDA/cuDNN

注意:如果没有二次编译代码的需求,正常情况下不需要单独安装CUDA/cuDNN,因为框架都内置了编译好的CUDA,框架版本和CUDA版本是对应的,只需要关注框架版本即可,无需独立关注CUDA版本。

查询默认CUDA/cuDNN版本

注意:通过nvidia-smi命令查看到的CUDA版本只是驱动支持的最高cuda版本参数,不代表实例中安装的是该版本CUDA。

终端中执行查看默认镜像自带的CUDA版本(安装目录为/usr/local/):

# 查询平台内置镜像中的cuda版本
ldconfig -p | grep cuda
        libnvrtc.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc.so.11.0
        libnvrtc.so (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc.so
        libnvrtc-builtins.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.11.0

# 查询平台内置镜像中的cudnn版本
ldconfig -p | grep cudnn
        libcudnn_ops_train.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8
        libcudnn_ops_train.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so
        libcudnn_ops_infer.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8
        libcudnn_ops_infer.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so

上边的输出日志.so后的数字即为版本号。如果你通过conda安装了cuda那么可以通过以下命令查看:

conda list | grep cudatoolkit
cudatoolkit               10.1.243             h6bb024c_0    defaults

conda list | grep cudnn
cudnn                     7.6.5                cuda10.1_0    defaults

安装其他版本的CUDA/cuDNN

方法一:使用conda进行安装

优点:简单

缺点:一般不会带头文件,如果需要做编译,则需要照方法二安装

方法:

conda install cudatoolkit==xx.xx
conda install cudnn==xx.xx

如果你不知道版本号是什么那么可以搜索:

conda search cudatoolkit
Loading channels: done
# Name                       Version           Build  Channel             
cudatoolkit                      9.0      h13b8566_0  anaconda/pkgs/main  
cudatoolkit                      9.2               0  anaconda/pkgs/main  
cudatoolkit                 10.0.130               0  anaconda/pkgs/main  
cudatoolkit                 10.1.168               0  anaconda/pkgs/main  
cudatoolkit                 10.1.243      h6bb024c_0  anaconda/pkgs/main  
cudatoolkit                  10.2.89      hfd86e86_0  anaconda/pkgs/main  
cudatoolkit                  10.2.89      hfd86e86_1  anaconda/pkgs/main  
cudatoolkit                 11.0.221      h6bb024c_0  anaconda/pkgs/main  
cudatoolkit                   11.3.1      h2bc3f7f_2  anaconda/pkgs/main

方法二:下载安装包安装

CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive

安装方法:

# 下载.run格式的安装包后:
chmod +x xxx.run   # 增加执行权限
./xxx.run          # 运行安装包

cuDNN下载地址:https://developer.nvidia.com/cudnn

安装方法:

先解压, 后将动态链接库和头文件放入相应目录

mv cuda/include/* /usr/local/cuda/include/
chmod +x cuda/lib64/* && mv cuda/lib64/* /usr/local/cuda/lib64/

安装完成以后,增加环境变量:

echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:${LD_LIBRARY_PATH} \n" >> ~/.bashrc
source ~/.bashrc && ldconfig

提示:

默认镜像都内置了最原生的CUDA和cuDNN,如果您自己安装了cudatoolkits等,那么一般会默认优先使用conda中安装的cudatoolkits,