【CUDA入门·Lesson 1】Ubuntu实战:CUDA 概念、nvidia-smi 工具与 GPU 参数详解
目录
1. 什么是 CUDA?一张图先搞清
2. 实战环境:Ubuntu 22.04 + RTX 4060 Laptop
3. nvidia-smi 瑞士军刀:参数、监控、调优
3.1 基本用法
3.2 关键字段拆解(RTX 4060 Laptop 为例)
4. GPU 参数速查表
5. 安装 CUDA Toolkit(可选阅读)
6. 小结 & 下集预告
老规矩,先赞后看,养成好习惯! 源码、脚本全部放在文中,随取随用。
1. 什么是 CUDA?一张图先搞清
CUDA (Compute Unified Device Architecture) 是 NVIDIA 推出的 GPU 通用并行计算平台,它允许开发者利用显卡的并行计算能力进行 科学计算、机器学习、深度学习、图像处理、数值模拟 等任务。
-
传统 CPU 计算:串行/少量并行 → 适合逻辑控制
-
GPU 计算:大规模并行 → 适合矩阵运算、深度学习
⚡ 举个例子:
-
CPU 核心数:4 核 / 8 核(几十个线程)
-
GPU 核心数:几千到上万 CUDA 核心(数万线程同时运行)
👉 简单理解:CUDA 就是让 GPU “像 CPU 一样”编程,写 C/C++/Python 代码,交给 GPU 干加速运算的事。
概念 | 类比 | 说明 |
---|---|---|
Host | CPU 端 | 负责逻辑、流程控制 |
Device | GPU 端 | 负责并行计算 |
Kernel | 运行在 GPU 上的函数 | 成千上万个线程同时执行 |
Thread → Block → Grid | 三级并行层次 | 方便映射到 GPU 硬件 |
2. 实战环境:Ubuntu 22.04 + RTX 4060 Laptop
# 系统/驱动信息
lsb_release -d
nvidia-smi
3. nvidia-smi 瑞士军刀:参数、监控、调优
3.1 基本用法
命令 | 功能 |
---|---|
nvidia-smi | 实时一次快照 |
watch -n 1 nvidia-smi | 每秒刷新 |
nvidia-smi -L | 列出所有 GPU |
nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv | 提取关键字段 |
3.2 关键字段拆解(RTX 4060 Laptop 为例)
上面输出的信息比较多,我们逐一解释:
-
Driver Version:当前 NVIDIA 驱动版本(必须与 CUDA 版本匹配)。
-
CUDA Version:支持的 CUDA Toolkit 版本(编译 CUDA 程序时需要参考)。
-
GPU Name:显卡型号,例如
RTX 3080
、A100
、H100
等。 -
Fan:风扇转速百分比。
-
Temp:当前显卡温度。
-
Perf:性能状态(P0 ~ P12,P0 表示性能模式,P8 表示空闲模式)。
-
Pwr:Usage/Cap:当前功耗 / 最大功耗。
-
Memory-Usage:显存使用情况(已用 / 总量)。
-
GPU-Util:GPU 利用率(训练时这里会接近 100%)。
-
Compute M.:计算模式,一般是 Default。
👉 小技巧:
小贴士:
nvidia-smi dmon
可输出 CSV 日志,配合gnuplot
做性能曲线。
4. GPU 参数速查表
参数 | RTX 3060 Laptop | 如何影响 CUDA 编程 |
---|---|---|
SM 数 | 30 | 最多并发 30 个 Thread Blocks |
每 SM 最大线程数 | 1536 | 一个 Block 可放 1024 线程 |
共享内存 / SM | 48 KB | 决定 __shared__ 数组大小 |
L2 Cache | 3 MB | 频繁 __global__ 读写时影响带宽 |
显存带宽 | 336 GB/s | 核函数内部访存瓶颈的主要来源 |
官方查询:
deviceQuery
样例位于/usr/local/cuda/samples/1_Utilities/deviceQuery
,编译后运行即可。
5. 安装 CUDA Toolkit(可选阅读)
# 1. 添加源
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
# 2. 下载并安装本地 deb 包
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
# 3. 安装 CUDA Toolkit
sudo apt-get update
sudo apt-get -y install cuda
参考博主的其他博客:【原创】Win11 + WSL2 + Ubuntu 22.04 手把手安装 CUDA 11.8(避坑版)-CSDN博客
验证:
nvcc -V
6. 小结 & 下集预告
Lesson 1 我们完成了: ✅ CUDA 概念大白话 ✅ nvidia-smi 工具全解析 ✅ GPU 参数速查表
📌 系列文章导航:
-
Lesson 1:CUDA 概念、nvidia-smi 工具与 GPU 参数
-
Lesson 2:Hello world —— 第一个 CUDA 程序
-
Lesson 3:CUDA 编程模型(线程、块、网格)
如果本文对你有帮助,三连(点赞/收藏/评论)就是最大的鼓励! 有任何疑问评论区见,看到必回。