超详细介绍Ubuntu系统安装CUDA和cuDNN【一站式服务!!!】
文章目录
- 简介
- 1.安装显卡驱动
- 查看显卡型号
- 下载并安装NVIDIA驱动
- 使用Ubuntu自带的软件和更新(Software&Updates)工具安装【博主使用的这种方式,推荐】
- 自行下载使用命令行安装【自由度更高,大佬自行尝试】
- 2.下载并安装CUDA
- 3.下载并安装cuDNN
- 参考资料
简介
想必很多做DL的小伙伴都需要在Linux下面进行,其中Ubuntu Linux是一个非常好的选择。这篇博客,博主将自己在Ubuntu系统下面从零开始安装CUDA和cuDNN的步骤做好了总结,仅供参考!若有更新或者不同之处,欢迎评论区讨论。🏃🏃
安装CUDA和cuDNN一般需要先后完成以下几步,并且具有先后顺序:
- 安装显卡驱动,完成后nvidia-smi指令可以使用🚀;
- 安装CUDA Toolkit,安装完成后nvcc -V指令正常输出🚀;
- 安装cuDNN,安装完成后PyTorch可以调用相关的计算包🚀。
重要说明⁉️:我们常说的安装CUDA,实际上是指安装CUDA Toolkit。nvidia-smi指令查看的是驱动版本的CUDA(我们用CUDA-driver表示)。nvcc -V查看的是PyTorch等深度学习环境调用的CUDA版本,也是我们常说的CUDA(我们用CUDA-dl表示)。这里只需要 C U D A − d r i v e r ≥ C U D A − d l {\rm CUDA-driver} \geq {\rm CUDA-dl} CUDA−driver≥CUDA−dl 即可,不一定要完全一致。
1.安装显卡驱动
查看显卡型号
这里我们将用到两条Linux指令和一个显卡ID和型号对照查询的网页(PCI devices: The PCI ID Repository):
* lspci3:显示 Linux 系统上的设备和驱动程序。
* grep(globa regular expression)4:用于查找文件里符合条件的字符串或正则表达式,即将输入文本或者文件中符合条件的内容输出或者显示。
* 竖线|
:在Linux中竖线|
是管道符的意思,用于连接两个命令,将第一个命令的输出作为第二个命令的输入。
lspci | grep -i nvidia
注意:🔈🔈
- grep命令的参数
-i
表示后面内容不区分大小写。 - 我们这里没有使用网上部分资料里面说的
lspci | grep -i vga
指令。因为VGA compatible ontroller是输出图形,3D Controller是进行3D计算,并且Intel的双显卡方案就是用Intel集成显卡输出图形,用独显进行3D计算,故查看NVIDIA显卡版本,需要用的lspci | grep -i 3d
或者lspci | grep -i nvidia
等指令查看,否则会有可能显示Intel核显信息。 - 没有安装NVIDIA的显卡驱动是无法使用
nvidia-smi
查看显卡信息的。 - 没有安装CUDA是无法使用
nvcc -V
或者nvcc --version
查看显卡信息的。
博主这里查找到的NVIDIA显卡ID是1f97
,通过网址查询对应的显卡型号是MX450
。😆😆一种笔记本用的NVIDIA显卡。
下载并安装NVIDIA驱动
这里介绍两种常用的方法下载和安装NVIDIA驱动。
使用Ubuntu自带的软件和更新(Software&Updates)工具安装【博主使用的这种方式,推荐】
ubuntu-drivers devices
sudo apt install nvidia-driver-535
❗️🆘注意:这里使用sudo apt install nvidia-driver-535
命令即可,不能使用sudo apt install nvidia-driver-535-server-open
。上述指令中驱动版本需要根据自身情况而定。也可以使用下面的命令直接安装推荐版本。
sudo ubuntu-drivers autoinstall
在使用sudo apt install nvidia-driver-535
指令安装NVIDIA驱动之前,软件和更新里面显卡驱动显示是灰色的,无法选中!安装完成之后就会自动显示安装好的显卡驱动,在这个界面选择重启,或者直接重启即可!【不重启显卡驱动暂时不会起作用哈,nvidia-smi只会显示:No devices were found
】
nvidia-smi
nvidia-settings
自行下载使用命令行安装【自由度更高,大佬自行尝试】
下载地址:
- 中文:https://www.nvidia.cn/Download/index.aspx?lang=cn🚀
- English:https://www.nvidia.cn/Download/index.aspx?lang=cn💥
- 查看Ubuntu系统信息
用得到的指令是uname
。uname是一个Unix和类Unix操作系统上的程序,可以打印当前计算机和操作系统的名称、版本及其他细节。uname系统调用和命令第一次出现在PWB/UNIX上。用到的uname
指令参数是s
、r
、n
和p
分别表示显示内核名字、内核版本、主机名和CPU信息。🚩CPU信息:x86表示32位系统;x86_64表示64位系统。系统位数是我们安装NVIDIA显卡驱动需要的。
sudo uname -srnp
当然也可以在设置(setting)里选择关于(about)查看系统信息
【下面用于自定义安装显卡驱动的指令仅供参考】
- 更新Ubuntu软件包
sudo apt update && sudo apt upgrade
- 安装依赖包
sudo apt install g++ gcc make
- 执行安装指令
查看NVIDIA驱动安装包权限,这里没有执行权限。需要先给安装包添加可执行权限。chmod指令700或者777均可,前者给当前用户添加读写执行权限,后者给所有用户添加读写执行权限。
ls -lh Downloads/
sudo chmod 700 Donwnloads/NVIDIA-Linux-x86_64-535.146.02.run
安装
sudo Donwnloads/NVIDIA-Linux-x86_64-535.146.02.run
重启电脑即可!💯
2.下载并安装CUDA
我们常说的安装CUDA,实际上是指安装CUDA Toolkit。当Ubuntu系统中并未安装CUDA时,nvcc指令是执行不成功的。这里提示说可以直接通过指令sudo apt install nvidia-cuda-toolkit
进行安装,我没有尝试,真的勇士可以试试看是否可行!!!
- 查看对应版本的CUDA
查看网址:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
博主这里的驱动版本是535.129.02
对应的驱动CUDA是12.2,因此安装驱动版本需求小于535.129.02
的CUDA Toolkit都不会有问题,但不建议安装太低版本的CUDA Toolkit。这里可以结合当下PyTorch官网https://pytorch.org的安装推荐CUDA版本。比如博主这里推荐的就是安装CUDA 11.8和CUDA 12.1的CUDA Tookit。这里我安装的是CUDA 11.8 GA,只需要驱动版本大于520.61.05,显然这里我们是满足的。
- 进入NVIDIA CUDA Tollkit下载页面,下载安装包。
下载地址: https://developer.nvidia.com/cuda-toolkit
历史版本下载地址: https://developer.nvidia.com/cuda-toolkit-archive
直接进入 CUDA 下载地址点击下载会默认下载最新版本的 CUDA, 如此出12.1版本. 博主笔记本对应的12.0, 则需要在网页的下方找到 Archive of previous CUDA releases, 下载之前的版本.
export PATH=$PATH:/usr/local/cuda-11.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.8
CUDA测试通过!撒花🌺🌺🌺
3.下载并安装cuDNN
- 将压缩包解压
tar -xf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
- 复制文件到CUDA安装目录
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/include/* /usr/local/cuda-11.8/include
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64
- 添加读取权限
sudo chmod a+r /usr/local/cuda-11.8/lib64/cudnn.h
sudo chmod a+r /usr/local/cuda-11.8/lib64/libcudnn*
- 测试
cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
【到此,完结!!!】💥💥💥
参考资料
- 知乎:ubuntu查看显卡信息、卸载驱动、CUDA
- CSDN:Linux-ubuntu系统查看显卡型号、显卡信息详解、显卡天梯图
- 在 Linux 上使用 lspci 命令查看硬件情况
- 菜鸟教程:Linux grep 命令
- PCI devices: The PCI ID Repository
- 博客园:ubuntu显卡及驱动
- APT 与 APT-GET 之间有什么区别?
- CSDN:apt 和 apt-get的区别
- CSDN:怎么查看ubuntu是32位还是64位以及版本信息
- CSDN:Ubuntu18-22.04安装和干净卸载nvidia显卡驱动——超详细、最简单
- Ubuntu 20.04 安装NVIDIA显卡驱动+cuda 11.7+cudnn
- 知乎:ubuntu查看显卡信息、卸载驱动、CUDA
- CSDN:详解 Windows 10 安装 CUDA 和 CUDNN
- Ubuntu安装Nvidia英伟达显卡驱动,安装Cuda和Cudnn配置机器学习环境
- Ubuntu 20.04 安装NVIDIA显卡驱动+cuda 11.7+cudnn
收集整理和创作不易, 若有帮助🉑, 请帮忙点赞
👍➕收藏
❤️, 谢谢!✨✨🚀🚀