Ubuntu18.04安装NVIDIA显卡驱动
查看显卡硬件型号
sudo ubuntu-drivers devices
# 结果
== /sys/devices/pci0000:3a/0000:3a:00.0/0000:3b:00.0 ==
modalias : pci:v000010DEd00002484sv000010DEsd0000146Bbc03sc00i00
vendor : NVIDIA Corporation
manual_install: True
driver : nvidia-driver-460-server - distro non-free
driver : nvidia-driver-460 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
可以看到推荐的驱动recommended
为: nvidia-driver-460 - distro non-free
如果提示该命令找不到, 则需要安装驱动查看工具
sudo apt-get install ubuntu-drivers-common
安装驱动
上面命令有一个推荐安装recommended
的驱动版本nvidia-driver-460 - distro non-free
, 如果同意安装该版本的驱动, 则直接执行:
sudo ubuntu-drivers autoinstall
当然也可以使用 apt-get
命令安装自己想要安装的版本,比如我想安装 460
这个版本号的版本,终端输入:sudo apt-get install nvidia-460
就自动安装了
查看是否安装成功
执行命令, 如果出现如下显卡信息, 则说明安装成功, 如果没有出现显卡信息可以尝试重启解决
nvidia-smi
Ubuntu18.04安装CUDA
下载
官方下载地址: https://developer.nvidia.com/zh-cn/cuda-downloads
安装
选择操作系统及安装类型后, 会提示安装步骤
# 下载
$ wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
# 赋予执行权限
$ sudo chmod a+x cuda_11.1.0_455.23.05_linux.run
# 安装
$ sudo sh cuda_11.1.0_455.23.05_linux.run
在安装时, 遇到报错:
百度到的原因是说已经安装了多个驱动版本, 见: https://shliang.blog.csdn.net/article/details/108994449
卸载驱动的步骤为:
1、查看系统中安装了哪些NVIDIA的驱动
sudo dpkg --list | grep nvidia-*
2、卸载NVIDIA驱动:
sudo apt-get purge nvidia*
或
sudo apt-get remove --pure nvidia*
这里我没有卸载已有的驱动, 而是直接运行了下面的run命令, 添加了一些参数 在run命令加上了参数--override
:
$ sudo sh cuda_11.1.0_455.23.05_linux.run --toolkit --silent --override
--silent
是静默安装, 会直接跳过在安装过程中询问的提示, 如果想按照安装提示来选择安装步骤, 可以不加上该参数--override
应该是能够覆盖之前安装过的驱动
配置环境变量
默认安装路径为/usr/local/cuda-11.1
clear@ubuntu-server:~$ ls -l /usr/local | grep cuda
lrwxrwxrwx 1 root root 21 Mar 30 12:29 cuda -> /usr/local/cuda-11.1/
drwxr-xr-x 15 root root 4096 Mar 30 12:30 cuda-11.1
编辑~/.bashrc
文件
vim ~/.bashrc
# 添加下面两行
export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
激活~/.bashrc
设置
source ~/.bashrc
测试cuda是否安装成功
方式一: 查看版本信息, nvcc -V 查看是否安装成功
执行命令nvcc -V
clear@ubuntu-server:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:10:02_PDT_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.TC455_06.29069683_0
方式二: 编译安装cuda目录下的测试用例
cd /usr/local/cuda-11.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
卸载cuda
如果安装cuda失败,或者是安装的版本不能够匹配,此时可能面临重新安装,同样也要卸载之前安装的cuda, 直接删除安装位置的cuda文件:
sudo rm -rf /usr/local/cuda
sudo rm -rf /usr/local/cuda-11.1
Ubuntu18.04安装cuDNN
下载
官网: https://developer.nvidia.com/rdp/cudnn-download, 需要自己注册才能下载
选择对应的CUDA版本以及操作系统
这里网页是用windows的Google Chrome浏览器访问的, 而最终是需要下载到linux系统中
于是在这里右键下载链接然后复制链接, 再去linux系统中使用wget
命令下载该链接, 但是发现返回结果是403 forbidden
, 无法下载, 那么可以点击下载链接, 让Google Chrome浏览器进行下载, 然后在下载内容页面右键这个下载任务, 然后复制这里的下载链接, 就可以在linux上进行下载了
解压
tar zxvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
注意: cudnn解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
把解压文件中的文件复制到cuda的安装目录下就可以了
sudo cp cuda/lib64/* /usr/local/cuda-11.1/lib64/
sudo cp cuda/include/* /usr/local/cuda-11.1/include/
测试cuDNN
下载另外三个测试包(黄色标注)
安装:
sudo dpkg -i libcudnn8_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.1.1.33-1+cuda11.2_amd64.deb
执行:
cp -r /usr/src/cudnn_samples_v8/ /home/alex/cudnn_samples_v8
cd /home/alex/cudnn_samples_v8/mnistCUDNN
make make
./mnistCUDNN
出现下图信息则说明安装成功
Ubuntu18.04安装Pytorch
进入官网: https://pytorch.org/get-started/locally/, 选择对应的CUDA和系统版本
这里的CUDA版本为11.1, 选择的安装方式是pip, 执行官网指定的安装命令
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
注:
- 安装之前一定要查看CUDA的版本, 可以使用下面命令查看CUDA版本
cat /usr/local/cuda/version.txt
或者
nvcc -v
nvcc这个命令需要配置CUDA环境变量后才能使用
vim ~/.bashrc
# 添加下面两行
export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
- pip安装命令一定要使用官网的命令, 不能直接
pip install torch,torchvision, torchaudio
, 因为默认的pip源下载的包版本可能与cuda所需的版本不符, 不过官网的pip下载可能会有点慢, 需要耐心等待
我之前就是直接使用的默认pip版本进行安装, 所以在运行pytorch时出现报错:
GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
意思是安装的CUDA的算力是sm_86, 和现在安装的PyTorch支持的算力不匹配, 所以需要重新安装对应的pytorch版本
这个网站可以知道显卡的算力: https://developer.nvidia.com/zh-cn/cuda-gpus#compute
测试GPU环境是否安装好
# 进入pytorch的虚拟环境
python
import torch
torch.cuda.is_available()
# true为成功, false为失败