- NVIDIA GPU 分类 :
- 消费级(GeForce)
:适合中小型 AI 项目与个人开发者(如 RTX 4090/4080),性价比高但显存和专业优化有限。
- 数据中心级(A/H 系列)
:面向大规模训练与推理(如 A100/H100),支持多卡互联(NVLink)、更大显存(HBM3)和专业库(CUDA/CuDNN)。
- 专业级(RTX A 系列)
:平衡图形渲染与 AI 计算(如 RTX A6000),适合多任务开发场景。
01
NVIDIA参数
GPU主要资源:
- 计算核心CUDA core、显存、BAR、Channel
- 安装完NVIDIA的驱动后,可以输入命令nvidia-smi查看显卡参数:
(使用本地3090卡测试)
参数解释:
-
GPU
:GPU 编号,从 0 开始,这里显示 0 - 6 共 7 0 - 6 共 7 块 GPU 。 -
Name
:GPU 型号,均为NVIDIA GeForce RTX 3090
。 -
Fan
:风扇转速百分比,如32%
表示风扇以 32% 转速运行 。 -
Temp
:GPU 温度,单位摄氏度,如27C
即 27 度 。 -
Perf
:性能状态,P8
代表低功耗空闲状态(不同数字对应不同性能 / 功耗等级 )。 -
Persistence-M
:持久模式状态,Off
表示未启用(启用后可加快 GPU 应用启动速度 )。 -
Pwr:Usage/Cap
:功耗,32W / 350W
表示当前用 32W,功耗上限 350W 。 -
Bus-Id
:GPU 在总线中的位置标识,用于系统识别,如00000000:1A:00.0
。 -
Disp.A
:显示激活状态,Off
表示无显示输出(常用于服务器 GPU,专注计算不用显示 )。 -
Memory-Usage
:显存使用,2MiB / 24576MiB
指已用 2MiB,总显存 24576MiB(约 24GB )。 -
Volatile Uncorr. ECC
:易失性未纠正错误,N/A
因消费级 GPU(RTX 3090 )一般不支持 ECC 校验 。 -
GPU-Util
:GPU 利用率,0%
表示当前无计算任务,GPU 空闲 。 -
Compute M.
:计算模式,Default
为默认模式 ;MIG M.
:多实例 GPU 模式状态,N/A
表示未启用该功能 。
进程信息区(Processes
)
- 显示当前占用 GPU 的进程,这里
No running processes found
表示没有进程在使用 GPU,进一步说明 GPU 处于空闲状态 。
整体来看,这 7 块 RTX 3090 GPU 均处于低负载空闲状态,无计算任务运行,温度、功耗都较低 。
- 查看GPU卡间通信方式(NVLINK或是PCI)
如果要看NVIDIA是否支持NVLINK或是通信方式,可以使用以下命令:
nvidia-smi topo -m
02
使用pytorch测试GPU推理
import torch
def check_cuda_availability():
"""检查并打印PyTorch CUDA可用性及相关信息"""
# 检查CUDA是否可用
cuda_available = torch.cuda.is_available()
print(f"CUDA可用状态: {cuda_available}")
if cuda_available:
# 获取CUDA版本
cuda_version = torch.version.cuda
print(f"CUDA版本: {cuda_version}")
# 获取可用GPU数量
gpu_count = torch.cuda.device_count()
print(f"可用GPU数量: {gpu_count}")
# 打印每块GPU的详细信息
for i in range(gpu_count):
gpu_name = torch.cuda.get_device_name(i)
gpu_memory = torch.cuda.get_device_properties(i).total_memory / 1024**3 # 转换为GB
print(f"GPU {i}: {gpu_name}, 总显存: {gpu_memory:.2f} GB")
# 检查当前使用的GPU
current_device = torch.cuda.current_device()
print(f"当前使用的GPU: {torch.cuda.get_device_name(current_device)}")
# 测试GPU计算能力
x = torch.tensor([1.0, 2.0]).cuda()
y = torch.tensor([3.0, 4.0]).cuda()
z = x + y
print(f"GPU计算测试结果: {z}")
else:
print("CUDA不可用,检查是否安装了正确的CUDA驱动和PyTorch版本")
print("提示: 确保PyTorch版本与CUDA版本兼容")
if __name__ == "__main__":
check_cuda_availability()
输出如下:
python pytorch.py
CUDA可用状态: True
CUDA版本: 12.1
可用GPU数量: 7
GPU 0: NVIDIA GeForce RTX 3090, 总显存: 23.69 GB
GPU 1: NVIDIA GeForce RTX 3090, 总显存: 23.69 GB
GPU 2: NVIDIA GeForce RTX 3090, 总显存: 23.69 GB
GPU 3: NVIDIA GeForce RTX 3090, 总显存: 23.69 GB
GPU 4: NVIDIA GeForce RTX 3090, 总显存: 23.69 GB
GPU 5: NVIDIA GeForce RTX 3090, 总显存: 23.69 GB
GPU 6: NVIDIA GeForce RTX 3090, 总显存: 23.69 GB
当前使用的GPU: NVIDIA GeForce RTX 3090
GPU计算测试结果: tensor([4., 6.], device='cuda:0')
至此已经验证了NVLINK GPU的训练验证,如果GPU无法训练,torch.cuda.is_available()会显示是false。
上述代码也基本是用来测试卡是否能正常使用的代码。这个代码跑通后,基本上训练相关的代码也能正常。
以下是训练代码示例:
03
卡发展历程及命名
NV 核心阶段:1999 年底,英伟达推出了 NV10 核心的显卡产品 GeForce256,该产品被认定为首款 GPU(图形处理器),其硬件图形加速和变换 - 照明(T&L)功能,将图形处理的任务从 CPU 中解放出来。之后逐步发展,2000 年推出 NV11、NV15、NV16 核心的 GeForce2;2001 年发布 NV20 核心的 GeForce3;2002 年推出 NV17、NV18、NV19、NV25、NV28 核心的 GeForce4。
微架构阶段
Kelvin(开尔文):2001 年问世,首次应用于搭载 NV2A GPU 的 XBOX 游戏主机,GeForce 3 和 GeForce 4 系列 GPU 也是以 Kelvin 微架构为基础进行发布的。
Rankine(兰金):2003 年推出,是 Kelvin 微架构的后续版本,应用于 GeForce 5 系列产品,引入了对顶点和片段程序的支持,将显存(VRAM)的大小扩展至 256MB。
Curie(居里):2004 年发布,是 Rankine 微架构的继任者,用于 GeForce 6 和 7 系列 GPU,将显存容量翻倍至 512MB,是支持 PureVideo 视频解码的第一代 NVIDIA GPU。
Tesla(特斯拉):2006 年发布,被应用于 GeForce 8、9、100、200 和 300 系列 GPU,以及 Quadro 系列 GPU,为 NVIDIA 显卡带来了优化的性能和功能。
Fermi(费米):2010 年发布,引入了支持 512 个 CUDA 内核、64KB RAM 和分区 L1 缓存 / 共享内存的能力、支持纠错码(ECC)等增强功能。
Kepler(开普勒):2012 年发布,引入了全新的流式多处理器架构 SMX,带来了对 TXAA(一种抗锯齿方法)的完整支持,CUDA 核心数显著增加到 1536 个,还实现了更低的功耗效率等改进。
Maxwell(麦克斯韦尔):2014 年问世,相对于 Fermi 架构,在多处理器效率、专用共享内存容量、本地共享内存原子操作等方面有了增强。
Pascal(帕斯卡):2016 年发布,在 Maxwell 的基础上,引入了支持 NVLink 通信的能力,采用了高带宽内存 2(HBM2)技术,实现了计算抢占功能,引入了动态负载均衡机制。
Volta(伏特):2017 年发布,严格针对专业级市场,是第一个使用 Tensor Cores 的微架构,Tensor Cores 用于执行矩阵运算,以支持 AI 和深度学习应用。
Turing(图灵):2018 年发布,支持 Tensor Cores,并首次加入 RT Core,支持实时光线追踪,用于 NVIDIA 流行的 Quadro RTX 和 GeForce RTX 系列 GPU。
Ampere(安培):2020 年 5 月推出,旨在进一步提升光线追踪运算、高性能计算(HPC)和 AI 运算的能力,增强功能包括第 3 代 NVLink 和 Tensor Core 等。
Ada Lovelace:2022 年 9 月的 GTC22 大会上首次发布,应用于 GeForce RTX 40 系列显卡,所配备的 GPU 流式多处理器拥有高达 83 TFLOPS 的着色器性能,吞吐量相较于前一代产品提升了 2 倍。
04
产品特点
强大的图形处理能力:能够快速渲染高质量的 3D 图形,为游戏玩家提供流畅、逼真的游戏画面,也能满足专业图形设计师、视频编辑师等对高精度图形处理的需求。例如,GeForce RTX 40 系列显卡在运行一些大型 3A 游戏时,能够实现高帧率、高分辨率的画面输出,让玩家体验到更加细腻、生动的游戏场景。
支持光线追踪技术:从 GeForce RTX 系列开始,显卡支持实时光线追踪,能够模拟真实世界中的光线传播和反射,使游戏中的光影效果更加真实自然,为玩家带来沉浸式的游戏体验。如在《赛博朋克 2077》等支持光线追踪的游戏中,开启光线追踪功能后,游戏中的建筑、车辆等物体的反射、折射效果更加逼真,仿佛置身于真实的未来城市中(nvidia.com)。
AI 加速功能:借助 NVIDIA 的 CUDA 架构和 Tensor Cores,GeForce 显卡能够加速人工智能任务,如深度学习、AI 渲染等。在创作领域,创作者可以利用 AI 加速功能快速生成高质量的图像、视频内容;在游戏中,AI 技术还可以用于优化画质、提高帧率等,如 DLSS(深度学习超级采样)技术(nvidia.com)。
高显存带宽和大容量显存:配备了高速的 GDDR 显存,提供了高显存带宽,能够快速传输大量的图形数据,同时大容量的显存可以支持更高分辨率的纹理和更复杂的场景。例如 GeForce RTX 3080 显卡拥有 10GB 的 GDDR6X 显存,320bit 的位宽,能够满足游戏在 4K 分辨率下的运行需求。
05
最后
从消费级显卡的快速验证到数据中心级 GPU 的大规模训练,NVIDIA GPU 生态已成为 AI 开发的基础设施。PyTorch 凭借其动态图特性与 CUDA 深度整合能力,让开发者能够高效释放 GPU 算力。未来,随着 H200(Hopper 架构迭代)、Blackwell 等新一代硬件的推出,以及 PyTorch 3.0 等版本的优化,AI 训练将迈向更高效率、更低成本的新范式。
实践建议 :选择一块适合的 GPU(如 RTX 4060 起步),从 MNIST 手写识别等简单任务开始,逐步挑战 CIFAR-10 图像分类、NLP 情感分析等项目,在实战中积累调参、显存优化与分布式训练经验。AI 开发的核心不仅是理论知识,更是 “让模型跑起来、跑得好” 的工程能力 —— 而这一切,都始于一次勇敢的代码尝试。
如果觉得作者的分享有意义,请点赞关注。
往期推荐:
一文讲清楚大模型中6个关键词及原理:LLM、Transformer、Bert、预训练、微调FineTuning、机器学习
算力平台应该怎么做,如何快速从0到1做出一个可以满足训练推理的算力平台