很多人看到GPU参数表的时候,一直不明白表上的GPU算力数据大小到底是如何计算出来的?又为什么还有FP64和FP32不一样的表述。CPU单周期双精度浮点计算能力=2(FMA单元数)*2(M/A同时计算乘法和加法)*512bit(指令长度)/=32CPU单周期单精度浮点计算能力=2(FMA单元数)*2(M/A同时计算乘法和加法)*512bit(指令长度)/=64以英特尔6348 CPU(即:英特尔®

很多人看到GPU参数表的时候,一直不明白表上的GPU算力数据大小到底是如何计算出来的?又为什么还有FP64和FP32不一样的表述。以下我们就来看看算力的计算方式,一文读懂算力是如何计算出来的,欢迎点赞和收藏。

一、算力的计算方式-CPU算力

CPU算力计算公式:

Flops=【CPU核数】*【单核主频】*【CPU单个周期浮点计算能力】

FP64双精度: CPU单周期双精度浮点计算能力=2(FMA单元数)*2(M/A同时计算乘法和加法)*512bit(指令长度)/64bit=32

FP32单精度: CPU单周期单精度浮点计算能力=2(FMA单元数)*2(M/A同时计算乘法和加法)*512bit(指令长度)/32bit=64

以英特尔6348 CPU(即:英特尔® 至强® Gold 6348处理器,28c,2.60 GHz)为例,支持AVX512指令集,且FMA系数=2

在这里插入图片描述

所以1颗Intel Xeon Gold 6348的CPU每周期算力值为:

6348双精度算力=28x2.6(109)x(32)/(1012)=2.3TFlops
6348单精度算力=28x2.6(109)x(64)/(1012)=4.6TFlops

二、算力的计算方式-GPU算力

GPU的算力也是用FLOPS(浮点运算每秒)衡量。但是GPU 算力跟计算核心个数、核心频率、核心单时钟周期能力三个因素有关。

计算方式一:峰值计算法

通过GPU 峰值计算能力(峰值算力)计算,计算公式如下:

Fclk 为 GPU 的时钟周期内指令执行数 (单位为 FLOPS/Cycle), Freq 为运行频率 (单位为 GHz), NSM 为 GPU SM 数量 (单位为 Cores)。

以英伟达A100 GPU卡为例

在这里插入图片描述

NVIDIA A100 单精度FP32指令吞吐 64 FLOPS/Cycle ,核心运行频率为 1.41GHz ,SM 数量为108 ,Tensor Core里面的是融合乘加指令,所以一次指令执行会计算2次(一次乘法一次加法),因此会乘以2。

那么根据上面的公式有:

A100的峰值算力**=1.41*109*108*64*2/1012=19.491 TFLOPS**

因此 GPU 的算力峰值是,19.491 TFLOPS,大约为 19.5 TFLOPS

计算方式二:CUDA核心计算法

GPU算力计算公式:

Flops=【CUDA核心数】×【加速频率】×【每核心单个周期浮点计算系数】

A100的核心参数:

1、CUDA核心数:6912个(即108×64)
2、加速频率:1.41 GHz
3、GPU每核心单个周期浮点计算系数是:2

那么A100的标准算力(即FP32单精度)=6****912x1.41x2=19491.84 GFlots=19.5TFlops

FP64的双精度算力=19.5TFlops/2=9.7Tflops

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐