Whoosy's Blog

藏巧于拙 用晦而明 寓清于浊 以屈为伸

0%

Ubuntu Server安装NVIDIA GPU驱动、CUDA和cuDNN

Ubuntu Server安装NVIDIA GPU驱动、CUDA和cuDNN

前言

最近公司业务涉及到了深度学习的一些知识,运维这边也买了一些硬件组了一台物理机。
刚开始接触深度学习的一些知识,就从这篇安装驱动文章入手吧。。。。。

3070

环境说明

分类 版本或型号
操作系统 Ubuntu Server 20.04 LTS
GPU芯片 NVIDIA Geforce RTX3070
显卡驱动 460
CUDA 11.2
cuDNN v8.0.4 for CUDA 11.1

安装显卡驱动

查看显卡硬件型号

1
ubuntu-drivers devices

安装驱动

1
sudo ubuntu-drivers autoinstall

如果想安装指定版本

1
sudo apt install nvidia-460

查看驱动信息

1
nvidia-smi

在这里可以看到该驱动对应的CUDA版本

安装完成后重启服务器

参考文章: https://zhuanlan.zhihu.com/p/59618999

下载安装CUDA

在Nvidia官网CUDA Toolkit Downloads,按照对应的平台,下载对应CUDA版本的Toolkit。

这里我们选择了LinuxX86_64Ubuntu 20.04deb(local),然后老黄会给出下载和安装CUDA的命令

1
2
3
4
5
6
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda-repo-ubuntu2004-11-2-local_11.2.0-460.27.04-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-11-2-local_11.2.0-460.27.04-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-ubuntu2004-11-2-local/7fa2af80.pub
$ sudo apt-get updatesudo apt-get -y install cuda

下载安装cuDNN

在官网上转到如下页:https://developer.nvidia.com/rdp/cudnn-archive
备注:下载需要登录NVidia账户
上面标注有cuDNN对应的CUDA版本,由于之前安装的CUDA版本为11.2,但是cuDNN这里目前最新版的是为CUDA11.1适配的,所以这里下载使用cuDNN v8.0.4 for CUDA 11.1,经过验证,此版本也可以正常使用,但是如果有对应版本的,最好下载版本完全对应的。

这里由于下载选项中没有Ubuntu20.04的deb包,这里我们选用Ubuntu18.04的安装包。
下载cuDNN Runtime Library for Ubuntu18.04 x86_64 (Deb)cuDNN Developer Library for Ubuntu18.04 x86_64 (Deb)这两个包

然后用dpkg命令安装这两个包

1
2
sudo dpkg -i libcudnn8_8.0.4.30-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.4.30-1+cuda11.1_amd64.deb

验证测试

下载安装Tensorflow

1
2
3
sudo apt install python3-dev python3-pip python3-venv
pip3 install tensorflow==2.4
pip3 install tensorflow-gpu==2.4

进入Python终端

1
2
3
4
5
import tensorflow as tf
# 测试GPU是否可用
tf.test.is_gpu_available()
# 列出可用设备
tf.config.list_physical_devices()

参考文章: https://www.tensorflow.org/install

解决找不到so文件的问题

由于TensorFlow 2.4是基于CUDA 11.0构建的,所以安装CUDA 11.2会出现找不到文件的错误。具体涉及到三个文件: libcusolver.solibcupti.soptxas 。前两个文件是Linux下的动态链接库。这两个文件已经随CUDA安装在了系统中,只需要让TensorFlow找到它们即可。可以通过建立软链接的方式实现。

1
ln -s /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcupti.so  /usr/local/lib/libcupti.so.11.0
1
ln -s /usr/local/cuda/targets/x86_64-linux/lib/libcusolver.so ~/.local/lib/python3.8/site-packages

参考文章:https://yinguobing.com/rtx-3090-deep-learning-quick-test/

可能遇到的问题

安装完GUI图形界面后可能会出现20分钟后服务器休眠的问题

解决办法:卸载gnome-desktop3-data

1
sudo apt remove gnome-desktop3-data

参考文章: https://blog.csdn.net/weixin_42097690/article/details/109094431

参考文章

NVIDIA CUDA Installation Guide for Linux
Installing TensorFlow GPU in Ubuntu 20.04