当前位置:首页 » 《随便一记》 » 正文

cuda 安装和卸载 Linux(Ubuntu、debian)详细图解

11 人参与  2024年04月26日 12:35  分类 : 《随便一记》  评论

点击全文阅读


cuda需要Nvidia显卡或计算卡,AMD或intel显卡不行(amd是rocm)
建议使用ubuntu来装,因为cuda就是在这个平台上开发的,当然别的linux系统也行
以下操作在ubuntu server 2204、debian12、debian11中都操作过,如果没有安装linux系统,可以参考

Ubuntu server安装图解
Debian 安装图解


注意!请根据需要安装对应版本的cuda!不同版本安装大同小异
主要思路:安装N卡(硬件),安装cuda的依赖(主要是c的编译器)、安装N卡驱动,安装nvcc、安装cuda
另外,你可能还需要pytorch、tf,在选择版本前务必根据你自己的需要选取,部分组件对操作系统也有要求,为了少做重复劳动,先把所有需要的组件版本对应好,然后再一个个安装。
官方文档永远是最好的:cuda官方安装文档

一、检查硬件软件环境和删除Nouveau

不要省略这一步,检查环境确定符合基本需求

1.确定系统识别了N卡

lspci | grep -i nvidia

显示类似如下信息(下图分别是rtx3090 24G和rtx4090 24G):
在这里插入图片描述在这里插入图片描述

2.检查gcc编译器

gcc --version

如果正常,会显示版本,类似如下信息
在这里插入图片描述

如果没有,建议安装这个c的一大堆套件集合,一劳永逸

apt-get install build-essential

3.安装配套的linux内核头

apt-get install linux-headers-$(uname -r)

4.删除Nouveau

(这一步不一定要做,根据实际情况,如果提示需要卸载就卸载)
linux默认安装了N卡的开源驱动,即Nouveau。

检查Nouveau工作状态

lsmod | grep nouveau

如果出来很多信息,就说明这个驱动还在,卸载
编辑新文件,名字不一定取这个,其它也行

vi /etc/modprobe.d/nouveau.conf

内容如下

blacklist rivafbblacklist vga16fbblacklist nouveaublacklist nvidiafbblacklist rivatvblacklist nouveaublacklist lbm-nouveauoptions nouveau modeset=0alias nouveau offalias lbm-nouveau off

应用到内核

update-initramfs -u

完成后重启电脑,然后再查看,没有信息了即可
如果没有重启电脑,还是显示会有的。

lsmod | grep nouveau

二、使用cuda Toolkit安装

推荐使用,这样全家桶就装好了:N卡驱动+cuda+nvcc
注意:这种方法不需要先装驱动,也省去了查找兼容性的问题
cuda要求的驱动版本是最低的版本,也就是说可以用最新的驱动配早期的cuda版本
官方地址: cuda toolkit
再次提示:版本根据你的需求进行选取,比如你要用pytorch、tensorflow等,以那个需要为准,不同版本安装方法都一样
在这里插入图片描述
记得点前面的连接,不要点后面的Versioned …链接 ,那个是英文的详细文档,看起来麻烦。

这样选择,下面会出来安装的命令,直接复制用就行
这里装的是12.1版本,在上面的官方地址可以选取自己需要的版本,方法都是类似的
不同系统也在这里可以看到对应的安装方法,然后把下面的命令一个个复制进去就行
在这里插入图片描述
在这里插入图片描述
下面根据命令一步步操作:
上面的图有具体的操作,直接复制就行,我这边再写一下

(一)ubuntu系统参考这个

1.先切换到程序下载目录

mkdir /usr/local/my_cuda && cd /usr/local/my_cuda

2.安装操作

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin

移动配置文件

mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600

下载安装包

wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb

安装

dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb

安装key

cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/

更新

apt-get update

安装cuda,这一步时间较长,耐心等待

apt-get -y install cuda

安装完成后重启电脑,否则可能会出各种问题

(二)debian系统参考这个

选择的是本地的安装方法

1.进入操作的目录

cd /usr/local

2.下载key并装入系统

wget https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
add-apt-repository contrib

如果上面那条命令提示出错,则使用下面的命令

apt-get install software-properties-common

3.安装

时间较长,耐心等待

apt-get update
apt-get -y install cuda

安装完成后重启电脑,否则可能会出各种问题

三、测试

cuda版本以nvcc显示出来的为准,如果N卡驱动较新,nvidia-smi显示的版本会是新的cuda版本,而实际调用是通过nvcc

1.测试nvcc(cuda编译器)

nvcc -V

正常显示如下(如果出错,请看第四节问题处理部分,有解决方法):
在这里插入图片描述

2.测试nvidia-smi

nvidia-smi

如果这两步都出现问题,第四节处理

四、问题处理

1.nvcc 显示没有

查找nvcc

find / -name "nvcc"

比如出现下面目录
在这里插入图片描述

vi ~/.bashrc

最后的部分添加上(如果你不是装的12.1版本,要改目录中的版本)

export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64export PATH=$PATH:/usr/local/cuda-12.1/bin

保存后,刷新环境变量

source ~/.bashrc

再次使用命令(注意V是大写)

nvcc -V

见到如下的,是不是很亲切?
在这里插入图片描述

2.nvidia-smi错误

据说重启解决80%问题
比如如下图提示,如果错误,重启即可,因为上面已经装过了,很多问题重启就能解决
注意:还有一种情况,就是开启了secury boot,在bios里关闭即可,否则重启还是报错
在这里插入图片描述或者这种找不到硬件的,重启(还有一种可能显卡没有插好!)
在这里插入图片描述

再次使用nvidia-smi可以看到类似下面的信息(左上角是N卡驱动版本,右上角是cuda版本)
cuda版本以nvcc为准
在这里插入图片描述

五、cuda卸载

如果需要换不同的版本,建议多版本并存,这里先不涉及,如果要彻底卸载,根据以下操作
权限不够前面加sudo,我这里用root进行安装

1.准备删除cuda

apt-get remove cuda

2.自动卸载

apt autoremove 

3.删除其它的cuda

apt autoremove cuda*

4.删除下载安装包(也可以不删除)

rm /usr/local/my_cuda/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb

5.查找包相关并删除

dpkg -l |grep cuda

类似于如下图的一些包,手动删除相关的包。否则再安装别的版本会失败
在这里插入图片描述把上面的名称填到下面进行删除

dpkg -P cuda-repo-ubuntu2204-12-1-local cuda-toolkit-12-1-config-common cuda-toolkit-12-config-common cuda-toolkit-config-common cuda-visual-tools-12-1

6.或者

apt-get purge nvidia*

六、补充说明

1.升级显卡

如果更换了显卡,通常不需要重新安装,如果无法用,则重新安装即可

2.限制功耗(谨慎,一般不要搞)

有的显卡限制功耗可以有效降低温度,同时性能损失很小
以下仅作参考,通常情况不要动

进入持久化模式

nvidia-smi -pm 1

限制卡0功耗为200w

nvidia-smi -pl 200 -i 0

3.安装更老的cuda版本(不推荐)

cuda版本虽然有驱动版本的限制,但是这个限制的版本是最低的版本驱动版本。
比如rtx4090的初始驱动版本是522.25,而cuda11.8的默认cuda版本是522.06(默认无法直接安装)。如果需要这个版本的cuda。
应该先安装N卡驱动,然后在运行cuda tookit11.8,这时候程序会默认跳过驱动,使用nvcc -V和nvidia-smi显示的cuda版本不一致,因为两者原理不同,cuda是通过nvcc来运行的,所以以nvcc为准,特别是在windows下,如果你不小心升级了N卡驱动也不要紧,cuda的实际版本是不会变的。


点击全文阅读


本文链接:http://zhangshiyu.com/post/100484.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1