一文读懂 CPU/GPU 算力:从参数到计算,不再被忽悠
标签:硬件 · 原理 · 实战 · CPU · GPU · 算力 · 性能
适合人群:入门到进阶 · 约 4500 字 · 预计阅读 20 分钟
📋 目录
- 算力是什么?
- 算力的单位:FLOPS 和 TOPS
- CPU 算力拆解:参数 → 公式 → 例子
- GPU 算力拆解:参数 → 公式 → 例子
- CPU vs GPU:谁更强?
- 手算实例:i9-13900K vs RTX 4090
- 避坑指南:别再被这些套路忽悠
- 总结 + 思考题
引言
你有没有过这种经历——准备买一块显卡,打开电商页面,满屏都是"82 TFLOPS"、"7680 个 CUDA 核心"、"2.5GHz Boost"……心里一堆问号:这些数字大不大?好不好?跟隔壁那款比,谁更强?
更让人抓狂的是,厂商喜欢在宣传页面上用INT8的 TOPS 指标来对比竞品的FP32FLOPS,就像拿自己的百米冲刺速度跟别人的长跑配速比——数字更好看,但根本不是同一回事。
本文就来帮你把这些参数一网打尽:理清概念、弄懂公式、手算案例,以后看到任何芯片的参数表,都能自己算出个大概,不再被忽悠。🎯
一、算力是什么?
先用一个超接地气的比喻来解释"算力"这个词。
🏗️生活比喻:搬砖工人
想象一个工地,需要把 1000 块砖头从 A 搬到 B。算力,就是这个工人每秒能搬多少块砖。搬得越快,算力越强。计算机的"砖头"就是浮点运算(加减乘除这些数学操作)。
更严谨地说:算力(Computing Power),是处理器在单位时间内能完成的计算操作数量。通常以"每秒能做多少次浮点运算"来衡量,单位叫FLOPS(Floating Point Operations Per Second,即浮点运算次数/秒)。
那为什么 CPU 和 GPU 的算力衡量方式不一样呢?这就要从它们的"设计哲学"说起——CPU 是个全能选手,GPU 是个专精流水线工人。下文细说。
二、算力的单位:FLOPS 和 TOPS
在看参数之前,先把单位搞清楚,否则数字再大也没法比。
| 单位 | 全称 | 量级 | 常见场景 |
|---|---|---|---|
| FLOPS | 每秒浮点运算次数 | 基础单位 | 通用计算 |
| GFLOPS | Giga FLOPS | 10⁹ | CPU 单核 |
| TFLOPS | Tera FLOPS | 10¹² | GPU 算力 |
| PFLOPS | Peta FLOPS | 10¹⁵ | 超级计算机 |
| TOPS | 每秒整数运算次数 | — | AI 推理(INT8/INT4) |
精度类型:FP64 / FP32 / FP16 / INT8 / INT4
同一块芯片,用不同的数值精度计算,速度差距可以是数倍甚至十几倍。厂商经常在这里"玩文字游戏",一定要搞清楚:
| 精度 | 位宽 | 特点 | 典型应用 |
|---|---|---|---|
| FP64(双精度) | 64 bit | 精度最高、速度最慢 | 科学计算、物理仿真 |
| FP32(单精度) | 32 bit | 精度与速度均衡 | AI 训练、游戏渲染 |
| FP16(半精度) | 16 bit | 速度快约 2×,精度略降 | 混合精度 AI 训练 |
| INT8(整型 8bit) | 8 bit | 速度快约 4×,量化后使用 | AI 推理部署 |
| INT4(整型 4bit) | 4 bit | 速度最快,精度损失较大 | 边缘推理、超轻量模型 |
⚠️【注意】
厂商宣传时经常把 INT8 的 TOPS 拿来跟别人的 FP32 TFLOPS 比较,数字可能差 4 倍以上。对比时务必确认精度相同,否则没有可比性!
三、CPU 算力拆解:参数 → 公式 → 例子
🎓比喻:CPU 是一位教授
CPU 就像一位知识渊博的教授——能做微积分、能写诗、能下棋、能调度任务。核心数不多,但每个核心都极其聪明,特别擅长处理复杂的逻辑分支和顺序任务。
核心参数一览
主频 / 基频(Base Clock)
CPU 在持续负载下的稳定工作频率,单位 GHz,代表每秒时钟周期数。是衡量"每秒跳动多少下"的指标。
睿频 / Boost Clock
短时单核最高频率,受温度和功耗限制,不可持续维持。通常比基频高 20%~60%,买 CPU 别只盯睿频,基频才是真实可持续速度。
核心数 & 线程数(超线程 Hyper-Threading)
超线程(Hyper-Threading,HT):Intel 的技术,让 1 个物理核心模拟出 2 个逻辑线程。两个线程共享核心内部资源,可提升多任务吞吐量,但不等于"算力翻倍",实际提升约 20%~30%。
IPC(Instructions Per Clock,每时钟周期指令数)
这是最容易被忽略、但极为关键的指标。IPC 代表同样频率下,架构越新的 CPU 每个周期能干更多活。
举个例子:Intel 第 13 代相比第 10 代,在相同频率下 IPC 提升了约 30%——相当于同样时间内多完成了 30% 的工作,频率数字一样,实际性能却差距明显。这就是为什么新一代低频 CPU 可以打败老一代高频 CPU。
缓存(L1 / L2 / L3 Cache)
📚比喻:缓存就是工作台 + 书架 + 仓库
- L1 缓存= 桌面上的便利贴(极快,极小,每核独享)
- L2 缓存= 身边的书架(稍慢,中等容量,每核独享或共享)
- L3 缓存= 楼道的储藏室(更慢,更大,多个核心共享)
- 内存(RAM)= 去图书馆借书(慢,但有任何你要的资料)
缓存越大,CPU"够到"数据越快,等待内存的时间越少,实际性能越高。
TDP(Thermal Design Power,热设计功耗)
处理器在持续满载时,散热系统需要处理的最大热量。TDP 越高,说明功耗越大,同时也侧面反映持续算力上限——散热不够,CPU 会主动降频(温度墙)。
CPU 算力估算公式
单核理论峰值 FP32 算力: 单核峰值 = 主频 (GHz) × SIMD宽度 × FMA系数(×2) 示例(AVX2指令集,8路FP32,频率 3.5GHz): 单核峰值 ≈ 3.5 × 8 × 2 = 56 GFLOPS(FP32) 多核峰值 = 单核峰值 × 物理核心数 (注:受内存带宽和 L3 缓存制约,实际多核效率 < 线性缩放)💡【小贴士】频率高不一定赢
睿频(Boost)只能在短时间内维持,在长时间高负载下会因温度/功耗回落到基频。真实持续算力往往比理论峰值低 20%~40%。
四、GPU 算力拆解:参数 → 公式 → 例子
👨🎓比喻:GPU 是上千个小学生
GPU 就像有几千个小学生同时做加法——每个人不聪明,但胜在人多,同一时刻能做海量重复计算。渲染图片时每个像素要做类似的计算,让这几千个"小学生"同时上,比一个教授一个一个算快太多了。
核心参数一览
流处理器 / CUDA 核心(Stream Processors / CUDA Cores)
NVIDIA GPU 的基本计算单元。每个 CUDA 核心能独立执行浮点运算,核心越多,同时处理的线程越多。AMD 对应的叫"流处理器(Shader Processors)"。
SM(Streaming Multiprocessor,流式多处理器)
GPU 的功能模块单位。每个 SM 包含若干 CUDA 核心、寄存器、共享内存、调度单元。计算算力时,SM 数量是关键参数。
张量核心(Tensor Core)
NVIDIA Volta 架构起引入的专用加速单元,专为矩阵乘法(Matrix Multiply-Accumulate, MMA)设计。一次可以完成 4×4 矩阵乘加运算,在 FP16 / BF16 / INT8 精度下算力是普通 CUDA 核心的数倍到数十倍。AI 训练和推理的核心加速器。
光追核心(RT Core)
专门加速光线追踪(Ray Tracing)中的 BVH(边界体积层级)遍历计算,主要用于游戏渲染,与通用算力关系不大,AI 计算不使用此资源。
显存带宽(Memory Bandwidth)
GPU 核心读写显存的速度,单位 GB/s。大模型推理时,GPU 大部分时间在等数据从显存"搬运"过来,带宽不够,计算单元再多也只能空等。这是 LLM 推理的真正瓶颈之一。
Boost 核心频率(Boost Clock)
GPU 动态超频后的最高频率,通常在 1.5~2.8 GHz 范围内(比 CPU 低得多,因为 GPU 靠核心数量取胜,而非频率)。
GPU 算力计算公式(以 NVIDIA 为例)
FP32 理论峰值算力(TFLOPS): FP32 算力 = SM数量 × 每个SM的CUDA核心数 × 2 × 核心频率(GHz) 说明: ×2 的含义:GPU 每个周期执行 1 次 FMA(Fused Multiply-Add)指令 FMA = 乘法 + 加法 合并为 1 条指令 = 2 次浮点运算(a×b + c) Tensor Core FP16 算力 ≈ FP32 算力 × 2~8(视架构而定) (Tensor Core 每周期可做更大矩阵块运算,吞吐量远超普通 CUDA 核心)🧮【小贴士】FMA 是什么?为什么要 ×2?
FMA(Fused Multiply-Add,融合乘加指令)= 一次指令完成
a × b + c的计算。虽然是 1 条指令,但它完成了 2 次浮点运算(1次乘 + 1次加)。所以计算 FLOPS 时要乘以 2,这是行业惯例。
实际算力 vs 理论峰值
理论峰值是"空跑"时的最大值,实际应用中算力利用率受以下因素拖累:
- 显存带宽瓶颈:大模型推理时,核心等数据的时间 > 计算时间
- 调度与同步开销:线程分配、内存对齐等损耗
- 功耗墙(TDP Wall):持续满载时 GPU 降频保护
- 应用层利用率:写得不好的 CUDA 代码可能只有 40%~60% 利用率
一般来说,AI 训练实际利用率在50%~80%,推理在30%~60%之间。
五、CPU vs GPU:谁更强?
这个问题就像问"锤子和扳手哪个更好用"——完全取决于你要拧什么螺丝。
各自擅长的任务
| 任务类型 | CPU 擅长 | GPU 擅长 |
|---|---|---|
| 逻辑控制 | ✅ 复杂分支判断 | ❌ 不擅长 |
| 延迟敏感型 | ✅ 操作系统调度、数据库 | ❌ |
| 大规模并行 | ❌ | ✅ 矩阵运算、渲染 |
| AI 训练 | ❌ | ✅ 核心主力 |
| AI 推理 | ⚠️ 小模型可用 | ✅ 大模型首选 |
| 视频编解码 | ⚠️ 软解可以 | ✅ 硬解更快 |
| Web 服务 | ✅ | ❌ |
为什么 GPU 在并行任务上吊打 CPU?
关键在于芯片内部的"人员分配":
| 维度 | CPU | GPU |
|---|---|---|
| 控制单元占比 | 约 30%(很大) | 约 5%(极小) |
| 缓存占比 | 约 40%(很大) | 约 20%(较小) |
| 计算单元占比 | 约 30%(较少) | 约 75%(极多) |
| 并发线程数 | 16~256 个 | 数万~数十万 |
| 执行模型 | SIMD(单指令多数据,较灵活) | SIMT(单指令多线程,更大规模) |
| 适合任务类型 | 延迟敏感型 | 吞吐量敏感型 |
CPU 把大量芯片面积用在了"聪明的控制电路"和"大缓存"上;GPU 则把绝大部分面积全给了计算单元——简单但数量庞大。这就是两者在并行任务上天壤之别的根本原因。
六、手算实例:i9-13900K vs RTX 4090
Intel i9-13900K(CPU)
已知参数: P 核心数量:8 个(性能核) 基础频率(P-Core Base):3.0 GHz SIMD 宽度(AVX2,8路 FP32):×8 FMA 系数:×2 计算: 多核峰值 = 8 × 3.0 × 8 × 2 = 384 GFLOPS(FP32,仅 P 核基频) 加上 E 核及睿频估算,总体约 0.5~0.6 TFLOPS(FP32) 官方数据约 0.6 TFLOPS,计算吻合 ✓ 注:CPU 的算力远不如 GPU,强项在延迟和逻辑控制,不在吞吐量。NVIDIA RTX 4090(GPU)
已知参数: SM 数量:128 个 每个 SM 的 CUDA 核心数:128 个(共 16384 个 CUDA 核心) FMA 系数:×2 Boost 频率:2.52 GHz 计算: FP32 算力 = 128 × 128 × 2 × 2.52 = 82,575 GFLOPS ≈ 82.6 TFLOPS(FP32) 官方标称:82.58 TFLOPS,计算完全吻合 ✓ 扩展: Tensor Core FP16:≈ 330 TFLOPS INT8 算力:≈ 660 TOPS 实际 AI 训练利用率约 60%~75%,有效约 50~62 TFLOPS两者对比之下,RTX 4090 的 FP32 算力约是 i9-13900K 的138 倍——这就是为什么跑深度学习要用 GPU,而不是用 CPU 苦等。
七、避坑指南:别再被这些套路忽悠
❌ 坑 1:只看核心数,不看架构代际
老架构 16 核可能跑不过新架构 8 核。同样是"8核",Intel 第 13 代比第 10 代 IPC 高 30%+。买 CPU 一定要在同一架构世代内比较!
正确做法:先确认架构代际,再比核心数和频率。
❌ 坑 2:混淆不同精度下的 TOPS/TFLOPS
A 卡标 INT8 下 200 TOPS,B 卡标 FP32 下 50 TFLOPS——乍看 A 更强,但 INT8 本来就比 FP32 快约 4 倍。同等精度才能比较,记住这个铁律!
正确做法:统一用 FP32 TFLOPS 作为通用比较基准。
❌ 坑 3:把理论峰值当实际算力
显卡标 82 TFLOPS,不代表你跑深度学习能用上 82 TFLOPS。内存带宽、调度开销、功耗墙等因素会让实际利用率只有 50%~75%,要有"算力利用率"概念。
正确做法:参考实测 benchmark(如 MLPerf),而非只看规格表。
❌ 坑 4:把 AI 性能等同于游戏性能
Tensor Core 主要用于 AI 矩阵运算,游戏靠的是 CUDA 核心 + 带宽 + RT Core。一款 AI 算力爆炸的卡,打游戏不一定强;反之亦然。
正确做法:明确自己的使用场景,AI 训练看 Tensor Core,游戏看光栅化+光追性能。
❌ 坑 5:忽视显存带宽(大模型推理的真正瓶颈)
LLM 推理时,GPU 大部分时间在等数据从显存"搬"过来,而不是在算。带宽不够,算力再强也是空转。
例子:RTX 4090 有 1008 GB/s 带宽;而某些 AI 专用卡(如 H100 SXM)达到 3.35 TB/s——后者在大模型推理上的优势远超 FP32 算力数字所体现的差距。
正确做法:跑大模型推理时,显存带宽的重要性 ≥ 浮点算力。
八、总结 + 思考题
核心知识点回顾
- 算力= 每秒能做多少次运算,单位是 FLOPS / TOPS,精度不同不可直接比较
- CPU= "教授",擅长逻辑复杂、低延迟任务;GPU= "大批小学生",擅长并行吞吐
- CPU 算力公式:频率 × SIMD宽度 × FMA×2 × 核心数
- GPU 算力公式:SM数 × 每SM的CUDA核心数 × 2 × 频率(GHz)= TFLOPS
- 理论峰值 ≠ 实际算力,利用率通常在 50%~80% 之间
- 对比时务必同精度比较,认准 FP32 作为通用基准
下次看到厂商参数表,先问三个问题:
- 这是什么精度的算力?
- 有没有和我的实际任务对应?
- 标的是理论峰值还是实测数据?
想清楚这三点,基本就不会被忽悠了。💪
💬 思考题(欢迎评论区讨论)
题目一(入门级):你有一块 RTX 3080(8704 个 CUDA 核心,68 个 SM,Boost 1.71 GHz),试着手算一下它的 FP32 理论峰值算力,看看和官方标称(29.77 TFLOPS)是否吻合?
题目二(进阶级):同等 FP32 算力下,你会选显存带宽更大的卡还是Tensor Core 更多的卡来跑 LLM 推理?为什么?
欢迎在评论区留下你的计算过程和分析思路,一起交流!🚀
如果这篇文章对你有帮助,点个赞再走吧~收藏起来,下次选硬件时翻出来对照着看,绝对少走弯路!
