cuda/cudnn 环境安装及查询

发布时间 2023-07-25 10:09:23作者: U_C

引用出处:https://www.autodl.com/docs/cuda/

注意:如果没有二次编译代码的需求,正常情况下不需要单独安装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下载地址: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,