107. CUDA&cnDNN

CUDA

查看显卡信息

点击查看[CUDA版本和驱动版本的对照表]

下载CUDA

下载对应的CUDA,[CUDA各个版本下载地址]

注意: 一般安装最高版本的低一个版本

最好低最高版本低几个版本。

安装CUDA

Windows

  1. 安装

    • 勾掉以下3个:

      1. NVIDIA Geforce Experience ……
      2. CUDAVisual Studio ……
      3. driver ……display driver
    • 其他默认即可

  2. 添加环境变量

    • 添加

    • 添加CUPTI路径

注意:版本对照等重要信息见[参考资料]

linux

查看本机系统信息

  1. CUDA版本和显卡驱动
1
nvidia-smi

目前CUDA版本为11.6,如下图所示,显卡驱动为510.47.03(根据下面的对照表,降级成CUDA10.2没问题)

  1. ubuntu系统版本和架构

    1
    2
    $ uname
    $ lsb_release -a

CUDA版本和驱动版本的对照表

[Table 3 CUDA Toolkit and Corresponding Driver Versions]

如上图所示,像CUDA10.2版本,需要440.33以上的显卡驱动。例如,如果你通过nvidia-smi命令获得的显卡驱动号大于440.33,你可以将CUDA 11降到10.2是完全没有问题的。而如果你的显卡驱动号是396.26,那么你只能在CUDA7/8/9上进行切换。

因此显卡驱动总是越高越好,依赖关系为:

  • 操作系统版本最优先
  • 显卡驱动次之
  • CUDA再次之+Cudnn
  • 最后是python库,如pytorch版本

下载CUDA

下载网址:[https://developer.nvidia.com/cuda-toolkit-archive]

运行如下wget命令在服务器安装cuda的目录下:

将下载好的文件执行以下操作:

  • 进入到该目录下,使用chmod 755 cuda_10.2.89_440.33.01_linux.run更改文件的执行权限。
  • 不是管理员用户,因此无法使用sudo安装,直接执行以下命令即可 sh cuda_10.2.89_440.33.01_linux.run

安装CUDA

  1. 输入accept接收协议

  2. 选择***只安装CUDA Toolkit***,选择Option回车进入

  3. 修改安装路径

    前提:如下使用的两个目录需要先创建

    • /home/<username>/cuda-10.2/
    • /home/<username>/cuda-10.2/mylib/

    PS: 这两个目录可以随便换

    先选择Toolkit Options回车进入

    选择Change Toolkit Install Path回车,输入自定义的CUDA安装目录:

    1
    /home/<username>/cuda-10.2/

    更改Library install path

    1
    /home/<username>/cuda-10.2/mylib
  4. 安装成功

    此时nvcc还是显示原来的CUDA版本,还需要修改本地文件,如下:

修改环境配置文件

  1. 直接使用源文件夹

修改命令相关参数,执行如下命令:

1
vim ~/.bashrc

在最下方添加刚刚安装cuda的路径:

1
2
export PATH="/home/<username>/<cuda-10.2>/bin:$PATH"
export LD_LIBRARY_PATH="/home/<username>/cuda-10.2/lib64:/home/<username>/<cuda-10.2>/mylib/lib64:$LD_LIBRARY_PATH"

之前的CUDA路径可以注释掉,方便之后使用

保存之后,执行以下命令,使配置生效:

1
source~/.bashrc

查看效果:nvcc -V

显示CUDA 10.2,已经安装成功

  1. ln映射文件夹

    1
    ln -s /home/<username>/<cuda-10.2> /usr/local/cuda

    PS: /usr/local/cuda 目录可以换

    修改命令相关参数,执行如下命令:

    1
    vim ~/.bashrc

    在最下方添加刚刚安装cuda的路径:

    1
    2
    export PATH="/usr/local/cuda/bin:$PATH"
    export LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/local/cuda/mylib/lib64:$LD_LIBRARY_PATH"

cuDNN

windows

  1. 下载和 CUDA 对应的版本(建议不要下载最新的,看好官方文档在决定下载哪个)点击这里下载

  2. 解压

  3. 该文件名为 cudnn

  4. 复制到目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

  5. 添加cuDNN路径

  6. 确认环境变量

    1. 4行缺一不可
    2. 4行必须位于顶部
  7. 测试是否安装成功

    打开命令窗口,在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite文件夹中分别执行bandwidthTest.exedeviceQuery.exe。观察到Result=PASS 即表示安装成功。

Linux

  1. 查看CUDA版本

    1
    nvcc -V
  2. 根据安装的CUDA工具包版本在[官网]选择适合版本的cuDNN,本文安装的CUDA版本是11.2,就选择与之对应的cuDNN v8.4.0,选择Local Installer for Linux x86_64 (Tar)

  3. 复制cuDNN库的链接,使用wget下载或者下载到自己电脑之后再传到服务器上。

  4. 解压cuDNN文件,并进入解压出的文件夹,拷贝文件到/usr/local/cuda-11.2

    1
    2
    3
    4
    5
    6
    7
    tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz
    cd cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive
    export cuda_path=cuda-11.2
    sudo cp lib/* /usr/local/${cuda_path}/lib64/
    sudo cp include/* /usr/local/${cuda_path}/include/
    sudo chmod a+r /usr/local/${cuda_path}/lib64/*
    sudo chmod a+r /usr/local/${cuda_path}/include/*
  5. 查看cuDNN版本

    • 旧版本指令为cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A2

    • 新版本有更新,将cuDNN版本信息单拉了一个文件名为cudnn_version.h,所以新版本查看cuDNN版本的命令为cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

    切换普通用户查看nvcc是否能用。

    好的,安装完成。

参考链接