cuda与nvidia驱动安装

需要注意的是,只要安装了 NVIDIA 驱动,就能运行 CUDA 代码(不一定非要安装 CUDA Toolkit),因为 NVIDIA 驱动本身就自带基本的 CUDA 运行环境

功能 NVIDIA 驱动 CUDA 软件库 GPU(硬件)
让操作系统识别 GPU ✔ ✕ ✕
控制 GPU 电源、风扇 ✔ ✕ ✕
提供 CUDA 运行环境 ✔(基本支持) ✔(完整支持) ✕
运行 TensorFlow / PyTorch ✔ ✔ ✕
编写 CUDA 代码(如 nvcc 编译器) ✕ ✔ ✕
物理计算 / 深度学习 ✕ ✔ ✔

CUDA Toolkit 的下载与安装

  • 第1步,确认OS操作系统的信息,以便安装对应的cuda驱动,示例为 Ubuntu 24.04.1
[root@ubuntu ~]# cat /etc/issue
Ubuntu 24.04.1 LTS \n \l

[root@ubuntu ~]# uname -a
Linux ubuntu 6.8.0-51-generic #52-Ubuntu SMP PREEMPT_DYNAMIC Thu Dec  5 13:09:44 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  • 第2步,打开 CUDA Toolkit 官网,选择与OS版本一致的CUDA版本,比如 Ubuntu 24.04 对应 CUDA 12.8.1(建议选择最新版)的安装文件为 cuda_12.8.1_570.124.06_linux.run (大小 5.1G)
#.官网地址
https://developer.nvidia.com/cuda-toolkit-archive

#.选择过程
Operating System    :  Linux
Architecture        :  x86_64
Distribution        :  Ubuntu
Version             :  24.04
Installer Type      :  runfile(local)
  • 第3步,拷贝上一步生成的下载地址,去目标服务器上下载安装
#.官网wget下载,速度很快
cd /opt/
wget https://developer.download.nvidia.com/compute/cuda/12.8.1/local_installers/cuda_12.8.1_570.124.06_linux.run

# --silent 静默安装(不会安装或更新cuda包自带的驱动), --toolkit 指定安装cuda工具包
sh cuda_12.8.1_570.124.06_linux.run --toolkit --no-drm --silent
  • 第4步,执行 nvcc --version 查看 CUDA 版本,示例为 12.8
#.配置环境变量
echo 'export PATH=$PATH:/usr/local/cuda/bin' >> /etc/profile
source /etc/profile

#.查看cuda版本
[root@ubuntu ~]# nvcc --version | grep release
Cuda compilation tools, release 12.8, V12.8.93

NVIDIA 驱动的下载与安装

  • 第1步,利用 lspci 检测显卡设备,并确认gcc已安装(显卡驱动依赖gcc),示例 NVIDIA A10
#.1.安装pciutils之后,检测是否有nvidia设备,若无返回则表示未识别到设备
[root@ubuntu ~]# lspci -nn | grep NVIDIA
00:07.0 3D controller [0302]: NVIDIA Corporation GA102GL [A10] [10de:2236] (rev a1)

#.2.确认gcc已安装(新安装gcc之后务必reboot,否则安装显卡驱动会报内核相关的错误)
[root@ubuntu ~]# gcc --version | grep gcc
gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  • 第2步,禁用开源的nouveau驱动,避免和 NVIDIA GPU 驱动冲突
#.禁用Nouveau驱动,否则安装驱动遇到各种错误
lsmod | grep nouveau

#.注:若无信息输出,则表示已被禁用,无需再操作以下步骤(若libseccomp版本过低(比如2.3.1)则执行dracut会出错且驱动安装会失败)
# echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# dracut /boot/initramfs-$(uname -r).img $(uname -r)
# reboot
  • 第3步,确认OS操作系统的信息,示例为 Ubuntu 24.04.1
[root@ubuntu ~]# cat /etc/issue
Ubuntu 24.04.1 LTS \n \l
  • 第4步,打开 nvidia 官网,选择与OS版本一致的显卡驱动,比如 NVIDIA A10 基于 CUDA 12.8(建议选择最新版)对应的驱动文件为 NVIDIA-Linux-x86_64-570.124.06.run

注:安装cuda之前,先查看 CUDA Toolkit 对应 NVIDIA Driver 驱动版本的最低要求,更多请参考 cuda-toolkit-release-notes

#.官网地址
https://www.nvidia.cn/Download/index.aspx?lang=cn

#.选择过程
产品类型        :   Data Center / Tesla
产品系列        :   A-Series
产品家族        :   NVIDIA A10
操作系统        :  Linux 64-bit                    #.通过.run文件安装,推荐
#操作系统       :  Linux 64-bit Ubuntu 24.04       #.通过.deb文件安装,不推荐
CUDA Toolkit    :   12.8
语言            :   Chinese (Simplified)

#.驱动文件信息
驱动版本        :   570.124.06
发布日期        :   2025-03-03
操作系统        :  Linux 64-bit
文件名称        :   NVIDIA-Linux-x86_64-570.124.06.run
文件大小        :   375.73 MB
下载地址        :   https://cn.download.nvidia.com/tesla/570.124.06/NVIDIA-Linux-x86_64-570.124.06.run
  • 第5步,拷贝上一步生成的下载地址,去目标服务器上下载安装
#.官网地址wget报403,改为sqlfans下载
cd /opt/
wget -c http://oss.sqlfans.cn/ai/nvidia/NVIDIA-Linux-x86_64-570.124.06.run
sh ./NVIDIA-Linux-x86_64-570.124.06.run -s -no-nouveau-check

#.卸载驱动
# sh ./NVIDIA-Linux-x86_64-570.124.06.run --uninstall
  • 第6步,执行 nvidia-smi 查看 nvidia 显卡信息
[root@ubuntu ~]# nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.124.06             Driver Version: 570.124.06     CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A10                     Off |   00000000:00:07.0 Off |                    0 |
|  0%   38C    P0             52W /  150W |       1MiB /  23028MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

注:重点关注 nvidia-smi 如下几个参数

参数名称 参数解释 示例数值 备注
GPU GPU 编号 0 有多块显卡的话,编号从0开始
Name GPU 型号 NVIDIA A10 -
Persistence-M 持续模式的状态 Off 建议开启持续模式,虽然耗能大,但可以让GPU更快响应任务
Fan 风扇的转速 0% 从0到100%之间变动,N/A表示没有风扇
Temp GPU的温度 38C 单位℃,GPU温度过高会导致GPU的频率下降
Perf GPU的性能模式 P0 从P0(最大性能)到P12(最小性能)
Pwr:Usage/Cap GPU的功耗使用情况和上限 52W / 150W -
Memory-Usage 显存使用率 1MiB / 23028MiB -
GPU-Util GPU使用率 0% -
Compute M. GPU的计算模式 Default -
Processes 哪些进程占用gpu 没有进程 显示每个进程占用的使用率、进程号、占用哪个GPU等信息
GPU Memory 哪些进程占用多少gpu显存 - 显示每个进程使用的GPU显存量

附:nvidia-smi 常用命令

#.查看帮助
nvidia-smi --help

#.列出所有nvidia型号
nvidia-smi -L

#.开启持续模式(默认关闭),能够让 GPU 更快响应任务,缺点是增加待机功耗
nvidia-smi -pm 1

#.关闭持续模式
nvidia-smi -pm 0

#.隔2秒刷新一下GPU的状态
nvidia-smi -l 2

#.间隔1秒、保存为csv格式、--query-gpu记录哪些指标
nvidia-smi -l 1 --format=csv --filename=/opt/report.csv --query-gpu=timestamp,name,index,utilization.gpu,memory.total,memory.used,power.draw

附录

多版本cuda配置

  • 假设先装了 cuda-11.7 后装了 cuda-12.0,但是 nvcc --version 看到的cuda版本仍为 11.7,现在需要使用 cuda 12.0 这个版本
[root@ubuntu ~]# sh cuda_11.7.0_515.43.04_linux.run
[root@ubuntu ~]# sh cuda_12.0.0_525.60.13_linux.run

[root@ubuntu ~]# ll /usr/local/
lrwxrwxrwx  1 root root   21 Jun 18 03:33 cuda -> /usr/local/cuda-11.7//
drwxr-xr-x 15 root root 4096 Jun 18 03:33 cuda-11.7/
drwxr-xr-x 17 root root 4096 Oct 10  2023 cuda-12.0/

[root@ubuntu ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/cuda-11.7/bin

[root@ubuntu ~]# nvcc --version | grep release
Cuda compilation tools, release 11.7, V11.7.64
  • 修改环境变量 $PATH 将 cuda-11.7 替换为 cuda-12.0,过程如下:
[root@ubuntu ~]# PATH=`echo $PATH | sed "s/cuda-11.7/cuda-12.0/"`
[root@ubuntu ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/cuda-12.0/bin

[root@ubuntu ~]# nvcc --version | grep release
Cuda compilation tools, release 12.0, V12.0.76

遇到的问题

  • 问题1:安装cuda或nvidia驱动报错 Error opening terminal: ģ
#.安装cuda报错
root@ubuntu:/opt# sh cuda_12.8.1_570.124.06_linux.run
Error opening terminal: ģ

#.卸载nvidia驱动报错
root@ubuntu:/opt# sh ./NVIDIA-Linux-x86_64-570.124.06.run --uninstall
Error opening terminal: ģ
  • 解决1:参考如下静默安装
# --silent 静默安装(不会安装或更新cuda包自带的驱动), --toolkit 指定安装cuda工具包
sh cuda_12.8.1_570.124.06_linux.run --toolkit --no-drm --silent
Copyright © www.sqlfans.cn 2021 - 2026 All Right Reserved更新时间: 2026-05-30 11:57:44

results matching ""

    No results matching ""