Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置

提示

如果不是做 cuda 编程,以下内容不必多看,直接不用看了!!!

引用一位大佬的话:https://blog.csdn.net/qq_42406643/article/details/109545766
Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第1张图片
里面所谓的那句话就是:conda install pytorch安装的是torch CPU版本,conda install pytorch torchvision -c pytorch安装的是GPU版本

懂了吧?安装 GPU 版本的 PyTorch 或者 Tensorflow 的时候,默认就已经帮我们把 cudatoolkit cudnn 打包好了,如果你和我之前一样没有仔细看控制台安装信息的话,那么就会走许多的弯路!

可以参考我这篇博客:https://blog.csdn.net/qq_40750972/article/details/124217499

一、NVIDIA 卸载(个人记录)

参考链接1:https://blog.csdn.net/weixin_42563415/article/details/116805068
参考链接2:https://www.cnblogs.com/tangmiao/p/10470663.html


1.1 查看已经安装的驱动包

dpkg -l | grep nvidia

1.2 删除程序安装包

sudo apt purge nvidia*

1.3 删除依赖关系

sudo apt autoremove
sudo apt autoclean

1.4 检查是否已经卸载干净

dpkg -l | grep nvidia

如果没有卸载干净,参考链接二。

二、NVIDIA DRIVER 安装

参考链接1:https://zhuanlan.zhihu.com/p/131317082
参考链接2:https://zhuanlan.zhihu.com/p/59618999
参考链接3:https://askubuntu.com/questions/687414/unable-to-locate-package-nvidia-355-and-hearthstone-issues


2.1 查看本机可以安装的驱动版本

ubuntu-drivers devices

2.2 安装驱动

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt install nvidia-[driver]-version

【注】driver 为可选项,以 2.1 列出的可用驱动名称为准,version 表示要安装的版本。

注意:nvidia 驱动的名字必须与 2.1 列出的驱动名字一致,否则会出错误!!!E: Unable to locate package nvidia-470
在这个例子中,本人忽略了 nvidia-driver-470 中的 driver,导致浪费了大量的时间来解决这个问题!

2.3 重启系统使配置生效

sudo reboot

2.4 检查是否安装成功

nvidia-smi

三、CUDATOOLKIT 安装

如果使用上述 apt-get install 安装 NVIDIA DRIVER,默认会安装与之匹配的 CUDA 的,如果我们想安装其他版本的 CUDATOOLKIT,需要到 NVIDIA 官网下载,然后手动安装。

  • NVIDIA CUDATOOLKIT 下载官网:https://developer.nvidia.com/cuda-toolkit-archive
  • 选择一个合适的版本(具体根据 PyTorch 官网支持的 CUDA 版本来选择)下载安装。

这里演示下怎么安装 11.2.x 版本。

3.1 查看系统信息

uname -a

查看系统信息

3.2 选择对应的版本并下载

CUDATOOLKIT11.2 官网:https://developer.nvidia.com/cuda-11.2.2-download-archive
Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第2张图片

复制官方提供的下载安装命令,分步执行:

3.2.1 下载安装包

参考链接:https://www.cnblogs.com/brady-wang/p/12812458.html

# wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run -P ~/myname/pkgs/  # 下载安装包到指定的文件夹,如果该路径不存在会自动创建!

# 将安装包下载到当前 workspace
 wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run

Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第3张图片

3.2.1 执行安装

下载完成后,直接运行即可完成安装:

sudo sh cuda_11.2.2_460.32.03_linux.run

因为是图形界面,可能会卡一会儿:
Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第4张图片
Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第5张图片
Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第6张图片
Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第7张图片
查看 /usr/local
查看是否安装

3.3 ~/.bashrc 中 cudatoolkit 配置

参考链接:https://www.jianshu.com/p/eb5335708f2a

## <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ##
## 将 CUDATOOLKIT 的安装路径添加到系统变量中,使用 nvcc -V 查看是否配置成功 ##
## <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ##

# 创建软链接:sudo ln -s /usr/local/cuda-11.x /usr/local/cuda
# 好处是更改cudatoolkit版本时,只需要修改软链接的指向,不用每次都重新修改.bashrc
export CUDA_HOME=/usr/local/cuda

# 不使用软链接时:只需要将CUDA_HOME设置为cudatoolkit安装的路径
# 确保新添加的环境放在原始环境的最前面,这样source ~/.basrc才能生效
export PATH="$CUDA_HOME/bin:$PATH"  # 使用引号确保有特殊含义的字符成为普通字符
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"

## <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ##
## <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ##

修改后,保存退出,source ~/.bashrc 使配置信息立即生效。

由于有多个 CUDATOOLKIT,这里附上一个切换版本的脚本文件:

#!/bin/bash
echo "当前的cuda版本为:"
nvcc -V

## ============================================== ##
## ============================================== ##

echo "正在删除旧的软链接..."
# 如果输出不为空,表示有错误
if [ -n $(rm /usr/local/cuda) ]; then
    echo "删除失败,准备切换到root执行权限进行操作!"
    # 如果当前字符串为空,表示命令执行成功
    if [ -z $(sudo rm /usr/local/cuda) ]; then
        echo "删除成功!"
    fi
fi

## ============================================== ##
## ============================================== ##

read -p "请输入要设置的cuda版本:" VER
echo "正在创建新的软链接..."
sudo ln -s /usr/local/cuda-${VER} /usr/local/cuda

echo "修改成功!现在的cuda版本如下:"
nvcc -V

保存为 change_cuda_ver.sh,然后添加可执行权限:

chmod +x change_cuda_ver.sh

./change_cuda_ver.sh

Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第8张图片

三、cuDNN 安装

cuDNN 下载地址:https://developer.nvidia.com/rdp/cudnn-archive。找到与自己 nvcc -Vcudatoolkit 版本相匹配的包下载。

注意:需要注册一个 NVIDIA 账号后才能下载!

下载完成后,解压即可:

tar -xvf cudnn-11.3-linux-x64-v8.2.1.32.tgr

解压完成后,将以下文件拷贝到相应的位置

sudo cp cuda/include/* /usr/local/cuda/include
sudo cp cuda/lib64/* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/*

查看 cuda 版本:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第9张图片
对应的脚本文件:install_cudnn.sh

echo "正在复制中..."

sudo cp cuda/include/* /usr/local/cuda/include
sudo cp cuda/lib64/* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/*

echo "复制完毕!"
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

安装完成!

参考链接1:cudatoolkit的安装与多版本切换
参考链接2:https://www.runoob.com/linux/linux-comm-chmod.html
参考链接3:https://blog.csdn.net/albertsh/article/details/107274490

四、验证

import torch
print(torch.cuda.is_available(), torch.cuda.device_count())

from torch.backends import cudnn
print(cudnn.is_available())
print(cudnn.is_acceptable(torch.rand(1,).cuda()))

运行结果:
Ubuntu18.04 NVIDIA-CUDA-cuDNN 安装配置_第10张图片

参考链接:cudnn 验证是否安装成功

你可能感兴趣的:(环境,深度学习,后端,linux,ftp)