安装流程
ubantu 安装显卡_tankpanv的博客-CSDN博客
参考原文:ubuntu 21.04下安装pytorch环境过程全记录(1) - 知乎
根据后续安装包的兼容性,选择cuda11.1.0版本。具体程序包为cuda_11.1.0_455.23.05,该程序包包含了GPU驱动,版本为455.23.05;仅安装cuda应该可以实现同步驱动显卡,但是测试的过程中同步安装驱动会出错,原因未知。
使用ubuntu自带的软件与驱动安装程序安装显卡驱动,安装版本为nvidia-driver-460-server。在安装cuda前,需要安装gcc-9.3.0
(cuda11.1.0对应的kernel为5.4.0,default gcc为9.3.0,glibc为2.31,参考nvidia官网)
参考:https://docs.nvidia.com/cuda/archive/11.1.0/cuda-installation-guide-linux/index.html
编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前做好相应备份)
cd /etc/apt
sudo cp sources.list sources.list.bak
sudo vim sources.list
#增加阿里云,在source.list文件开头增加如下内容
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#保存并更新
sudo apt update
sudo apt upgrade
安装 gcc-9、gcc-10并在系统中并存:
1、安装gcc-8、gcc-9、gcc-10
sudo apt install gcc-8 g++-8 gcc-9 g++-9 gcc-10 g++-10
2、以下命令为每个版本配置替代版本,并将优先级与之关联。默认版本是优先级最高的版本,在本例中为gcc-10。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8
3、切换gcc版本
sudo update-alternatives --config gcc
4、分别查看内核、gcc、glibc版本
uname -a
gcc --version
ldd --version
本例中系统版本为ubuntu21.04,5.11.0-16-generic,gcc-9.3.0,ldd2.33
第1步,禁用自带的显卡驱动
sudo vi /etc/modprobe.d/blacklist-nvidia-nouveau.conf
#增加如下两行
blacklist nouveau
options nouveau modeset=0
#更新系统并重启系统
sudo update-initramfs -u
#查看是否成功禁用,无输出说明禁用成功
lsmod | grep nouveau
第2步,安装显卡驱动
使用自带的软件和更新管理程序安装nvidia显卡驱动,本例选择nvidia driver 460 server版本
第3步,下载并安装cuda
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh ./cuda_11.1.0_455.23.05_linux.run
###
将显卡驱动前的x去掉,这一步骤不再安装显卡驱动安装会提示:
Driver: Installed
Toolkit: Installed in /usr/local/cuda-11.1/
Samples: Installed in /home/user/, but missing recommended libraries
Because some CUDA samples use third-party libraries which may not be installed by default on your system.
部分第三方库未默认安装,不用管这个问题。
这里如果发现安装cuda失败参考下面:在linux上安装cuda的时候报错:Existing package manager installation of the driver found._星空-CSDN博客
#如果遇到其他驱动相关的问题
参考这篇博客显卡驱动的安装,绝大部分cuda安装的问题都是由于驱动问题导致的!
查看是否同时安装了多个驱动版本:
dpkg -l | grep Nvidia
删除旧版本的驱动:
sudo apt-get purge nvidia*
或
sudo apt-get remove --pure nvidia\*
避免安装的时候存在多个驱动,导致安装失败:
sudo sh ./cuda_10.2..run --toolkit --silent --override
第4步,配置环境变量
gedit ~/.bashrc
#文本最后添加以下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
#保存退出,打开新终端激活
source ~/.bashrc
在安装的过程中,程序安装在了/usr/local/cuda-11.1,但是安装后已经默认建立了软连接 /usr/local/cuda <----/usr/local/cuda-11.1,环境变量指向/usr/local/cuda即可
第5步,测试cuda安装
方法一:(这里我的cuda没有生成sample文件,所以使用第二种方式验证的)
cd ~/NVIDIA_CUDA-11.1_Samples/1_Utilities/deviceQuery
make
./deviceQuery
显示Result = PASS,表示安装成功
方法二
然后用命令“nvcc -V”进行测试
即如下的代码
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
第6步,安装cudnn
下载:(因为NVIDIA默认需要登录才可以下载,我这里按原文下载会提示403 forbiden)
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.1_20201106/Ubuntu20_04-x64/libcudnn8_8.0.5.39-1+cuda11.1_amd64.deb
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.1_20201106/Ubuntu20_04-x64/libcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.1_20201106/Ubuntu20_04-x64/libcudnn8-samples_8.0.5.39-1+cuda11.1_amd64.deb
所以这里需要手动到官网注册账号下载的:cuDNN Archive | NVIDIA Developer
下载完成后按照以下顺序安装
安装:
sudo dpkg -i libcudnn8_8.2.2.26-1+cuda11.4_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.2.26-1+cuda11.4_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.2.26-1+cuda11.4_amd64.deb
测试安装效果:
#复制cuDNN samples到home目录下
cp -r /usr/src/cudnn_samples_v8 /$HOME
#进入home目录
cd $HOME/cudnn_samples_v8/mnistCUDNN/
#编译mnistCUDNN
sudo make clean
sudo make
#运行mnistCUDNN
sudo ./mnistCUDNN
显示test passed说明安装成功。
如果测试遇到问题参考下面方法
编译mnistCUDNN时出错:fatal error: FreeImage.h: No such file or directory
4. 执行“sudo make”时候可能会报以下编译错误 fatal error: FreeImage.h
mnistCUDNN sudo make
CUDA_VERSION is 11010
Linking agains cublasLt = true
CUDA VERSION: 11010
TARGET ARCH: x86_64
HOST_ARCH: x86_64
TARGET OS: linux
SMS: 35 50 53 60 61 62 70 72 75 80 86
test.c:1:10: fatal error: FreeImage.h: No such file or directory
1 | #include "FreeImage.h"
| ^~~~~~~~~~~~~
compilation terminated.
5. 执行
sudo apt-get install libfreeimage3 libfreeimage-dev
6. 重新编译后,运行
./mnistCUDNN
7.出现 Test passed! 代表 cudnn 正常使用