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

【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 干加速运算的事。

概念类比说明
HostCPU 端负责逻辑、流程控制
DeviceGPU 端负责并行计算
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 3080A100H100 等。

  • 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 线程
共享内存 / SM48 KB决定 __shared__ 数组大小
L2 Cache3 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 编程模型(线程、块、网格)


如果本文对你有帮助,三连(点赞/收藏/评论)就是最大的鼓励! 有任何疑问评论区见,看到必回。

http://www.dtcms.com/a/360200.html

相关文章:

  • 在Unity中,让子物体不随父物体移动或转动的方法!
  • 下一代防火墙(NGFW):从定义到功能
  • 试试 Xget 加速 GitHub 克隆仓库
  • 【WEB】[BUUCTF] <GXYCTF2019禁止套娃>《php函数的运用》
  • 大模型RAG项目实战:向量数据库Faiss
  • 【初始web3】什么是web3
  • 大模型时代:用Redis构建百亿级向量数据库方
  • 【自记】 Python 中函数参数前加 *(单星号)的解包可迭代对象写法说明
  • OpenCL C 内存对象
  • 第2.5节:中文大模型(文心一言、通义千问、讯飞星火)
  • 在线图片特效工具,600种创意模板
  • Python入门教程:常用第三方库Matplotlib(基本用法)下载、安装、参数解析教程
  • 案例——从零开始搭建 ASP.NET Core 健康检查实例
  • 【MLLM】语音端到端大模型和Voice Agent发展
  • 【Java进阶】Java与SpringBoot线程池深度优化指南
  • GitHub 热榜项目 - 日榜(2025-08-31)
  • 【AI编程工具】使用Cursor快速搭建一套小型项目管理系统
  • mysql5.7.44安装遇到登录权限问题
  • 在Linux环境安装Maven(保姆级别)
  • macos调用chrome后台下载wasm-binaries.tar.xz
  • k8s---prometheus 监控
  • AI大模型实战解析-RAG知识库+LangChain项目实战
  • 《SVA断言系统学习之路》【01】即时断言概览
  • IDM(Internet Download Managerv 6.38)破除解版下载!IDM 下载器永久免费版!提升下载速度达5倍!安装及使用
  • 深入解析Linux系统中的/etc/hosts文件
  • 刷题日记0831
  • 盲孔轴旋转编码器轴设计与加工的几个注意事项
  • 网络爬虫是自动从互联网上采集数据的程序
  • 开源知识抽取框架 推荐
  • Python基础之元组列表集合字典