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

如何评估cpu的理论FLOPS能力

文章目录

  • 如何评估cpu的理论FLOPS能力
    • FLOPS定义
    • 公式
    • 指令集
    • 两个具体的计算例子
      • Intel® Xeon Phi 7250F
      • RK3588
    • 最后

如何评估cpu的理论FLOPS能力

已知一些硬件的参数,知道怎么计算硬件的性能对自己研究的硬件选取乃至程序开发都有重要的借荐意义。

GPU和NPU之类的硬件因为其专门计算用途,因此一般规格书都会提供相应的理论处理能力,但是CPU主要用于处理逻辑而非大规模并行计算,一般不会提供对应的数据。但是我们可以通过定义来计算CPU硬件的理论FLOPS能力。

FLOPS定义

FLOPS,即每秒浮点运算次数, 是每秒所执行的浮点运算次数(Floating-point operations per second;缩写:FLOPS)的简称。

当然浮点精度不同,单精度,双精度,对应的FLOPS能力也不一样,这里我们以单精度浮点FP32为例。

公式

FLOPS = cores × cycles second × FLOPs cycle {\displaystyle {\text{FLOPS}}={\text{cores}}\times {\frac {\text{cycles}}{\text{second}}}\times {\frac {\text{FLOPs}}{\text{cycle}}}} FLOPS=cores×secondcycles×cycleFLOPs

简单来说

FLOPS=核心数x单核主频xCPU单个周期浮点计算次数

核心数和主频没什么好说的,规格书都会有提,但是CPU单个周期浮点计算值这个需要好好说道说道

指令集

cpu单处理浮点运算的能力需要看cpu支持的执行集,

例如x86架构下的 AVX512指令集

在例如ARM架构下的NEON指令集(ASIMD)

两个具体的计算例子

Intel® Xeon Phi 7250F

规格书

  • core :68
  • 主频:1.4 ghz
  • 指令集:AVX512 + 2 FMA(浮点乘加融合计算单元)

AVX512 提供16个单浮点数运算,并且浮点乘加融合相当于两次运算,提供了两个FMA单元

因此单周期可运算的FP32运算数为16x2x2;

因此他的单精度FLOPS为 68x1.4x16x2x2 = 6092.8 GFLOPS;

intel 官方flops数据为3046双精度GFLOPS,和我们的计算数据是匹配的。

RK3588

大小核:四核ARM Cortex-A76@2.4GHz + 四核ARM Cortex-A55@1.8GHz

参照该文档,可知a76存在两个ASIMD单元,128位带宽

The Cortex-A76 processor includes two load/store pipelines, which allow it to execute two 128 bit load uops and one 128 bit store
uop every cycle

a55 一个mac单元,128带宽

因此理论峰值性能为,

大核 4X2.4X4X2X2 = 153.6

小核 4x1.8x4x2 = 57.6

最后

当然理论性能只是理论,以上数据都是无依赖情况下的运算,一次FMA可以看作两次浮点运算,但是不是所有的两次浮点元算可以替代成FMA,两者并不等价,另外还要看编写软件能不能充分发挥软件性能,实际场景中,仍被业务逻辑依赖,内存吞图带宽,发热降频,大小核数据交互损耗等种种原因所影响。
理论值只能给予初步参考,实际场景仍需实测评估。


http://www.mrgr.cn/news/98500.html

相关文章:

  • Windows 下 MongoDB ZIP 版本安装指南
  • libaom 码率控制实验:从理论到实践的深度探索
  • ReportLab 导出 PDF(文档创建)
  • C++函数
  • 深入解析分类模型评估指标:ROC曲线、AUC值、F1分数与分类报告
  • VLLM V1 serve在线推理基本流程
  • gitdiagram源码架构分析
  • 协享云图分析--3用户模块
  • Cribl 数据脱敏 -02
  • 15.家庭影院,我选Jellyfin
  • 广汽滴滴Robotaxi首次亮相,中国自动驾驶加速领跑新赛道
  • Webflux声明式http客户端:Spring6原生HttpExchange实现,彻底摒弃feign
  • leetcode 121. Best Time to Buy and Sell Stock
  • Redis入门(Java中操作Redis)
  • IMX6ULL2025年最新部署方案2在Ubuntu24.04上编译通过Qt5.12.9且部署到IMX6ULL正点原子开发板上
  • Java使用ANTLR4解析IDL文件
  • 【厦门大学】大模型概念、技术与应用实践
  • Linux命令+Git命令
  • 【Sequelize】关联模型和孤儿记录
  • 计算机网络 - 四次挥手相关问题