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

【算力基础】GPU算力计算和其他相关基础(TFLOPS/TOPS/FP32/INT8...)

文章目录

    • :one: 算力的常见指标
    • :two: 算力计算
    • :three: 常用链接


🚀 本文主要是聚焦于深度学习领域的 GPU的算力估计,其他类型的硬件设备如CPU可以类比参考。

1️⃣ 算力的常见指标

算力衡量主要与运算速度精度这两个指标有关。

🌔速度指标常有:

指标备注
FLOPSFloat Operations Per Second(默认精度为FP32)
MFLOPS10^6 FLOPS
GFLOPS10^9 FLOPS
TFLOPS10^12 FLOPS
OPSOperations Per Second(默认精度为INT8)
MOPS10^6 OPS
GOPS10^9 OPS
TOPS10^12 OPS
Compute Capability(CUDA 能力)英伟达GPU的一种算力等级(数值不等于TFLOPS)

⭐️精度指标常有:

指标备注
FP64双精度浮点
FP32单精度浮点(FLOPS的默认精度)
FP16半精度浮点
TF32NVIDIA定义的TensorCore的中间计算格式(FP32的整数部分+FP16的小数部分)
BF16用于半精度的矩阵浮点运算,相比于FP16能提高效率
INT88位整型(OPS的默认精度)

在精度换算时,可以近似地根据位数的倍数来计算。
(这个地方不太严谨,如果手头参考资料有限,可以这样估计)

比如一个GPU可以操作1个FP32,在同等条件下,可以近似地认为它可以操作4个INT8,即TFLOPS ≈ \approx 4TOPS

常常算力仅以速度指标来表示,因为此时精度指标设定为默认值(FP32/INT8)。

2️⃣ 算力计算

以GPU为例,估计算力涉及以下这些常见参数

符号单位备注
n c u d a n_{cuda} ncuda1CUDA核心数
f b o o s t f_{boost} fboostHz加速频率(Boost Frequency)
a a a1单核心每时钟周期浮点运算系数(GPU常设为2:乘加运算)
C C CFLOPS浮点算力

❤️则一个GPU的算力可以按照如下公式估计:
C = n c u d a × f b o o s t × a C=n_{cuda}\times f_{boost}\times a C=ncuda×fboost×a

以NVIDIA GeForce RTX 2080 Ti 为例,讲解一下算力计算流程:

查询NVIDIA官网,只给出了RTX 2080 Ti的Compute capalibility等级为7.5,没有以FLOPS/TOPS为单位算力指标。
查询得到 n c u d a = 4352 n_{cuda}=4352 ncuda=4352 f b o o s t = 1.64 × 1 0 9 f_{boost}=1.64\times10^9 fboost=1.64×109,进而进行如下计算(以FLOPS为单位):
C = 4352 × ( 1.64 × 1 0 9 ) × 2 = 1.4275 × 1 0 13 C=4352\times(1.64\times10^9)\times2=1.4275\times 10^{13} C=4352×(1.64×109)×2=1.4275×1013
折算为以TFLOPS(FP32)为单位:
C T F = C / 1 0 12 = 14.275 C_{TF}=C/10^{12}=14.275 CTF=C/1012=14.275
理论计算结果与在TECHPOWERUP查询的RTX 2080 Ti算力13.45 TFLOPS较为接近。
\newline
而折算为以TOPS(INT8)为单位:
C T = C T F × 4 = 57.1 C_{T}=C_{TF}\times 4=57.1 CT=CTF×4=57.1
更进一步地,如果手头上有一台设备的算力为6 TOPS,并已知某一深度学习算法在RTX 2080 Ti上的运行速度为80帧,则可以估计出同样的算法在本设备的帧率:
F P S = 80 × 6 57.1 = 8.4 FPS=80\times\frac{6}{57.1}=8.4 FPS=80×57.16=8.4

3️⃣ 常用链接

  • TECHPOWERUP-GPU主页,比较公认的第三方技术参数查询点
  • NVIDIA GeForce GPU 技术参数官网
http://www.lryc.cn/news/471566.html

相关文章:

  • UI自动化测试(app端)4.0
  • C#与C++交互开发系列(十):数组传递的几种形式
  • 【C++复习】第一弹-基础性语法
  • 软考高级备考记录
  • 图为大模型一体机新探索,赋能智能家居行业
  • 精氨酸/赖氨酸多肽(芋螺肽)
  • C++音视频04:音视频编码、生成图片
  • ImageSharp报错
  • Android中常用adb命令
  • PostgreSQL的奥秘:全面解读JSONB——非结构化数据支持的深入探索
  • tornado,flaskd这两个框架主要是干什么的
  • Sigrity Power SI Noise coupling analysis模式如何进行压降仿真分析操作指导
  • 国产游戏技术能否引领全球?
  • 【前端】在 Next.js 开发服务器中应该如何配置 HTTPS?
  • 基于深度学习算法的动物检测系统(含PyQt+代码+训练数据集)
  • 微信小程序美团点餐
  • 音频剪辑还花钱?2024年这4款免费工具让你告别烦恼
  • 【YOLO模型】(4)--YOLO V3超超超超详解!!!
  • 管理类联考 信息整理和经验分享
  • JetBrains IDE中GPU进程(JCEF)重启问题(Too many restarts of GPU-process)解决方案
  • 《泛基因组:高质量参考基因组的新标准》
  • 模型其他压缩方法
  • Python学习的自我理解和想法(22)
  • 基于neo4j的糖尿病知识图谱数据
  • 分布式搜索引擎elasticsearch操作文档操作介绍
  • C++ 中的可调用对象
  • [HBase]二 HBase原生Shell命令大全
  • Kafka之消费者客户端
  • 使用Python进行数据分析入门
  • ubuntu20 从源码编译升级到版本5.15.263