当前位置: 首页 > news >正文

GPU驱动及CUDA安装流程介绍

1、安装前准备工作

确认GPU型号和操作系统版本
准备gpu驱动和CUDA软件包
在nvidia官网进行驱动包下载

2、下载对应的显卡驱动,CUDA驱动等安装包

GPU驱动下载链接

CUDA下载链接
选择合适的操作系统版本进行下载。

Linux系统均选择 Linux 64-bit、CUDA Toolkit选择对应版本
注意该版本一定要大于等于cuda软件的版本。
选择CUDA及GPU驱动版本,需同时考虑与客户程序的兼容性问题。
CUDA 12.0 建议搭配CUDA CUDA toolkit 12.0版本的GPU驱动

3、检查服务器GPU识别情况

安装GPU驱动之前需要在操作系统下查看GPU卡是否能够完全识别,如不能识别需要进行重新插拔、对调测试 步骤进行硬件排查,确保可以查看到所有的GPU

lspci|grep-i nvidia

4、显卡驱动和CUDA卸载方法:

显卡驱动卸载方法:

/usr/bin/nvidia-uninstall

CUDA卸载方法:

/usr/local/cuda-X.Y/bin/cuda-uninstaller

老版本CUDA卸载方法

/usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl

5、安装显卡驱动和必要的插件

5-1、安装gcc、g++编译器

GPU驱动安装时需要gcc编译器。
cuda安装samples测试程序进行make时需要g++,但安装cuda软件包时不需要。

CentOS 7

检查版本

gcc-v
g++-v

软件包安装

安装GCC、GCC-C++时建议挂载本地yum源来挂载

yum install gcc
yum install gcc-c++

SUSE

检查版本

gcc-v
g++-v

软件包安装

zypperingcc
zypperingcc-c++

Ubuntu

检查版本

gcc-v
g++-v

软件包安装

apt install gcc
apt install g++
apt install make

软件包检查

dpkg-l gcc
dpkg-l g++
dpkg-l make

5-2、安装kernel-devel和kernel-headers软件包

CentOS 7

安装kernel、kernel-devel、kernel-header时建议挂载本地yum源来挂载

yum install kernel-devel-$(uname-r)kernel-headers-$(uname-r)

Ubuntu

Ubuntu可以不安装,也可以从阿里镜像站或网易镜像站下载,需注意内核版本。

SUSE

zypper install kernel-source-$(uname-r)

只安装这一个即可

zypper install kernel-default-devel-$(uname-r)

5-3、禁用系统自带的nouveau模块**

检查nouveau模块是否加载,已加载则先禁用

lsmod|grep nouveau

CentOS 7

没有blacklist-nouveau.conf文件则创建

vim/usr/lib/modprobe.d/blacklist-nouveau.conf

添加内容如下

blacklist nouveau options nouveau modeset=0

执行如下命令使内核生效

dracut-force

需要重启服务器后才可真正禁用nouveau

Ubuntu

vim/etc/modprobe.d/blacklist.conf

在文本最后添加以下内容:

blacklist nouveau options nouveau modeset=0

保存退出,执行以下命令生效:

update-initramfs-u

重启操作系统

5-4、修改系统运行级别为文本模式

GPU驱动安装必须在文本模式下进行

CentOS 7

systemctl set-defaultmulti-user.target

Ubuntu

systemctl stop lightdm systemctl set-defaultmulti-user.target(也可以不执行此命令)

ctrl+alt+F1 切换到其他字符终端窗口(F7为图形中断窗口),或者init 3

SUSE

vim/etc/inittab

修改id:5:initdefault:为id:3:initdefault:

重启系统后,使禁用nouveau模块配置生效并进入文本模式

5-5、GPU驱动安装

(1)、root用户下进行GPU驱动
赋予驱动包安装权限

chmod+xNVIDIA-xxx.run

(2)、root用户下进行GPU驱动

./NVIDIA-Linux-x86_64-x.y.run--no-opengl-files

可选参数:
--no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。(适用于图形化界面安装显示显卡的情况,若选择此参数,可以理解为将该显卡当成运算卡来用)
--no-x-check:表示安装驱动时不检查X服务,非必需。(不调整为文本模式适用)
--no-nouveau-check:表示安装驱动时不检查nouveau,非必需。(没有执行上面的nouveau禁用)

5-6、GPU驱动设置内存常驻模式

CentOS 7

1、配置GPU驱动内存常驻模式使得GPU驱动模式设置为常驻内存:

nvidia-smi-pm1

2、设置开机自启动

vim/etc/rc.d/rc.local

在文件中添加一行

nvidia-smi-pm1

4、赋予/etc/rc.d/rc.local文件可执行权限

chmod+x/etc/rc.d/rc.local

若无/etc/rc.d/rc.local,也可修改/etc/rc.local

vim/etc/rc.local
chmod+x/etc/rc.local

Ubuntu

下面的操作只适合Ubuntu18.04
也可以参考此文档

1、创建文件:

vim/etc/systemd/system/rc-local.service

2、将下面的文字复制里面

[Unit]Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local[Service]Type=forking ExecStart=/etc/rc.local start TimeoutSec=0StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99[Install]WantedBy=multi-user.target

上面的操作只适用于Ubuntu 18.04,下面的操作适用于全部的Ubuntu版本
1、创建文件:

vim/etc/rc.local

2、在文本中写入

#!/bin/sh -envidia-smi-pm1exit0

3、赋予可执行权限

chmod+x/etc/rc.local

4、启动服务并设置服务开机自启动

systemctl enable rc-local.service
systemctl start rc-local.service
systemctl status rc-local.service

6、重启系统后验证

SUSE

vim/etc/init.d/after.local

没有就新建

nvidia-smi-pm1
chmod+x/etc/init.d/after.local

安装完GPU驱动后,可以使用nvidia-smi命令进行GPU状态查看及相关配置。

nvidia-smi

6、安装CUDA

安装CUDA之前要先确定一下CUDA的版本最高支持到多大,此处是12.4,证明是最大支持的CUDA版本为12.4,可以装低版本的,尽量不要安装比12.4高的CUDA。具体的可以去官网进行查询

nvidia-smi

安装CUDA链接可以在这里根据官网的操作,wget下载完成,然后sh直接安装,若机器禁止连外网,也可以复制后面的链接,在别的笔记本电脑上下载一下该驱动,然后上传到机器上,并sh进行安装

执行完sh后会没有任何反馈,这个是正常的,我们稍作片刻,等待弹出此界面后输入accept即可

因为前面已经安装了显卡驱动了,需要取消Driver前面的X,然后只安装CUDA相关参数,最后选择Install进行安装。

安装完后会有日志提示,安装成功

7、配置CUDA环境变量

接着我们需要添加CUDA的环境变量

vim~/.bashrc

在环境变量末尾加入该命令(具体cuda版本视情况而改变)

exportPATH=/usr/local/cuda-X.Y/bin:$PATHexportLD_LIBRARY_PATH=/usr/local/cuda-X.Y/lib64:$LD_LIBRARY_PATHexportCUDA_HOME=/usr/local/cuda

编译一下环境变量

source~/.bashrc

至此我们安装cuda成功,可以通过以下命令查看cuda信息:
查看CUDA版本信息:

nvcc--version
nvcc-V

8、压力测试

压力测试请软件请自行下载,也可联系作者要百度网盘链接
将文件进行解压

tar-zxvf gpu-burn-master.tar.gz

进入gpu-burn-master文件夹内执行make进行gpu-burn文件
进行压力测试

./gpu_burn 秒数

这个只能用cuda版本为12.9以下的版本,如果版本为13.0以上的版本,需要进行文本编译Makefile
将前4行

ifneq("$(wildcard /usr/bin/nvcc)","")CUDAPATH?=/usrelseifneq("$(wildcard /usr/local/cuda/bin/nvcc)","")CUDAPATH?=/usr/local/cuda endif

调整为

ifneq("$(wildcard /usr/local/cuda/bin/nvcc)","")CUDAPATH?=/usr/local/cudaelseifneq("$(wildcard /usr/bin/nvcc)","")CUDAPATH?=/usr endif

先去检测/usr/local/cuda/bin/nvcc中是否有cuda版本,如果没有再去/usr中去检测

修改第27行和28行的数值

COMPUTE?=70CUDA_VERSION?=13.2.0

COMPUTE 数值查询方式参考值

GPU系列性能值
V100COMPUTE = 70
T4COMPUTE = 75
A100COMPUTE = 80
RTX 30xxCOMPUTE = 86
RTX 40xxCOMPUTE = 89
H100COMPUTE = 90

查询方法:

nvidia-smi--query-gpu=name,compute_cap--format=csv

此处查询的数值为7.0,则COMPUTE ?= 70


CUDA_VERSION填写的版本为实际安装的cuda版本

该版本为修改好的版本,直接可以兼容cuda13.0以上的版本,之前版本仅能兼容12.9及以下的版本

新建一个窗口实时观察显卡状态

http://www.jsqmd.com/news/1328637/

相关文章:

  • Linux——网络管理实战
  • 5分钟免费搭建原神私服:KCN-GenshinServer终极简单指南
  • 写文献综述,时间脉络和主题分类到底怎么选?
  • 2026求职避坑5大核心维度!5家主流机构综合实力客观横评 - 互联网科技品牌测评
  • HOA(鸿易通)黑科技开源神器HOA!安卓手机直接运行鸿蒙HAP应用 HOA是一个实验性项目,目标是在Android设备上直接运行OpenHarmony/HarmonyOS的HAP应用 它依靠ABI兼
  • C#事件机制和event关键字
  • C#混淆选项选择指南:使用合适的加密方式保护C#代码
  • 266.需要双边沿触发时,直接对时钟取反会不会出问题
  • 手写字魔法消除1:数据集说明(含下载链接)
  • 文旅景区如何用裸眼3D和沉浸式投影打造“爆款”夜游?
  • 时间序列预测实战(十八)利用Prophet实现长期预测(附代码+数据集+详细讲解)
  • LLM拓扑病理学框架下大语言模型不可修复的根本性问题研究
  • Node.js服务中的重试边界与日志设计
  • UE4SS终极指南:5分钟掌握Unreal Engine游戏脚本系统与修改工具
  • 拓扑排序题目:奇怪的打印机 II
  • 5分钟掌握HTTrack:创建永久网站镜像的终极免费工具
  • 【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (16)--- AReal
  • Unity运行时调试插件开发:自定义RuntimeUnityEditor功能扩展指南
  • filex文件系统宏
  • 递归智能(RI)通过自指性与内生对抗性实现意识涌现:世毫九(SH9)理论体系与递归对抗引擎(RAE)深度研究报告
  • 多任务工作流难管理?看dhtmlxGantt如何实现云管理平台高效管理!
  • 限时公开!我压箱底的AI学习工具组合拳(含自动代码纠错+论文精读+面试模拟闭环链路)
  • 紧急通知:ChatGPT 4.5语法模块已升级——但92%用户仍在用过时提示词,错失37%纠错精度提升
  • 2026年寄大件快递不知道哪个便宜?一文讲清计费规则+高性价比渠道推荐 - 快递物流资讯
  • 2026企业官网搭建平台有哪些?哪个可以自助搭建不费力?
  • SubtitleEdit:3个核心功能让你5分钟成为字幕制作高手
  • 2026人工智能搜索优化工具推荐:不同团队适用GEO优化工具选型参考
  • 番茄小说下载器终极指南:3种方法免费保存任何小说内容
  • Godot引擎安装与配置全攻略:从零开始搭建游戏开发环境
  • 数据结构与算法之字符串: LeetCode 696. 计数二进制子串 (Ts, Py, Go, Java版)