[Linux版本Debian系统]安装cuda 和对应的cudnn以cuda 12.0为例

写在前面

先检查自己有没有安装使用wget的命令,没有的话输入下面命令安装:

python 复制代码
apt-get install wget -y

查看gcc的安装

python 复制代码
sudo apt install gcc   #安装gcc
gcc --version          #查看gcc是否安装成功
#若上述命令不成功使用下面的命令尝试之后再执行上面的命令
sudo apt-get install libglib2.0-dev    #报错使用此命令进行依赖库安装
sudo apt-get update                    #更新一下软件资源
apt update -y 
sudo apt install gcc --fix-missing     #更新一下软件资源

一、检查本机是否有CUDA工具包,输入nvcc -V

二、安装cuda

1\] **CUDA工具包** : \[2\] **cuDNN库** : 1.在命令行输入`nvidia-smi`查看显卡驱动版本也就是最高支持的CUDA工具包版本。 例如,本机可安装12.0及以下的CUDA工具包: ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/e2dbfa181844363f624a03b680a7507a.webp) 2.在[nvidia官网](https://img-blog.csdnimg.cn/913560f6036c423f876688c67b62685f.png)选择对应版本的CUDA工具包并选择你的机器配置,我们就选择12.0版本下载 ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/64900fc9505861449ea09e127834d05b.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/b36dae57d1619704b757e6786dbdb9c8.webp) 3.在终端执行如下命令 ```python wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run sudo sh cuda_12.0.0_525.60.13_linux.run ``` 1)第一行命令下载安装包 ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/892cf267793094de22c60b8a43195933.webp) 2)使用第二行`sudo sh`命令需要提前下载`gcc`库,此过程会有点慢有点卡,耐心等待,出现界面之后卡了把终端框往下拉拉... ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/a08551db428af332797ac1595ea5ed8d.webp) 键入`accept`确认 ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/0fafdd93f5055d4627ceed085fe394a4.webp) 我们已经有驱动了,这里取消安装驱动,上下键和回车键选择。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/2715ce0f9ff9317dcf56763c618ff80d.webp) 稍作等待,出现以下提示信息就安装好了,可以看到CUDA安装到了`/usr/local/cuda-12.0/` ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/4148f11e3f94c7dbeebf204fcf7fabac.webp) 4.修改环境变量 1)打开配置文件 ```python # 打开bashrc配置文件 vi ~/.bashrc ``` 2)在配置文件末尾加上: ```python # cuda env export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.0 export PATH=$PATH:/usr/local/cuda-12.0/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64 ``` ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/b2aa02a30ad11cb0f67d11079b6c6557.webp) 执行`wq`,保存退出 3)source 一下配置文件 ```python source ~/.bashrc ``` 5.检查是否安装完成 使用`nvcc -V`和`nvidia-smi`检查CUDA是否安装完成,出现以下提示代表安装完成 ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/569f68bcefd58bd0de205c4e67d8b831.webp) 编译并执行CUDA样例程序,出现pass代表CUDA和GPU正常运行: ```python cd cd /usr/local/cuda-12.0/extras/demo_suite/ sudo make ./deviceQuery ``` ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/aa08face7c7aa7d5a8d82dc38d3ca703.webp) ### 三.安装cudnn 1.根据安装的CUDA工具包版本在[官网](https://link.csdn.net/?target=https://developer.nvidia.com/rdp/cudnn-archive)选择适合版本的cuDNN,本文安装的CUDA版本是12.0,就选择与之对应的cuDNN v8.9.1,选择Local Installer for Linux x86_64 (Tar)。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/753560d2814bdef220f1e995a0e7c47c.webp) 2.复制cuDNN库的链接,使用wget下载或者下载到自己电脑之后再传到服务器上。 3.解压cuDNN文件,并进入解压出的文件夹,拷贝文件到/usr/local/cuda-12.0中 ```python tar -xvf cudnn-linux-x86_64-8.9.1.23_cuda12-archive.tar.xz #解压文件 cd cudnn-linux-x86_64-8.9.1.23_cuda12-archive sudo cp lib/* /usr/local/cuda-12.0/lib64/ #复制文件 sudo cp include/* /usr/local/cuda-12.0/include/ sudo chmod a+r /usr/local/cuda-12.0/lib64/* #赋予权限 sudo chmod a+r /usr/local/cuda-12.0/include/* ``` ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/a4370c70a36831e3e3ff5fcb1b0f9370.webp) 4.查看cuDNN版本`cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2` ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/f9b86315b958e65ae97fe02cd0d69de9.webp) 上述教程为这台机器上的所有用户安装了CUDA和cuDNN,我们切一下普通用户查看`nvcc`是否能用 ![在这里插入图片描述](https://file.jishuzhan.net/article/1725687445585924098/1d53f3d1bb3e2deab2d0d92858ae702d.webp)

相关推荐
对你无可奈何6 分钟前
关于Ubuntu的 update造成的内核升级
运维·服务器·ubuntu
qq_3129201129 分钟前
Nginx限流与防爬虫与安全配置方案
运维·爬虫·nginx·安全
GanGuaGua36 分钟前
Linux系统:线程的互斥和安全
linux·运维·服务器·c语言·c++·安全
lsnm1 小时前
【LINUX网络】IP——网络层
linux·服务器·网络·c++·网络协议·tcp/ip
全糖去冰吃不了苦1 小时前
ELK 集群部署实战
运维·jenkins
不掰手腕1 小时前
在UnionTech OS Server 20 (统信UOS服务器版) 上离线安装PostgreSQL (pgsql) 数据库
linux·数据库·postgresql
Lynnxiaowen1 小时前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
努力学习的小廉2 小时前
深入了解linux系统—— POSIX信号量
linux·运维·服务器
刘一说2 小时前
CentOS部署ELK Stack完整指南
linux·elk·centos
从零开始的ops生活2 小时前
【Day 50 】Linux-nginx反向代理与负载均衡
linux·nginx