CPU/GPU理论计算极限评估

例1:理论单精度浮点计算峰值

CPU计算能力用Intel的Haswell架构进行分析,Haswell架构上计算单元有2个FMA(fused multiply-add),每个FMA可以对256bit数据在一个时钟周期中做一次乘运算和一次加运算,所以对应32bit单精度浮点计算能力为:

(256bit/32bit)* 2(FMA) * 2(乘和加) = 32 SP FLOPs/cycle,即每个时钟周期可以做32个单精度浮点计算。

CPU峰值浮点计算性能 = CPU核数 * CPU频率 * 每周期执行的浮点操作数。

Intel的CPU型号E5-2620V3来计算峰值计算能力为 =6(CPU核数) * 2.4GHz(CPU频率) * 32 SP FLOPs/cycle = 460.8 GFLOPs/s 即每秒460G峰值浮点计算能力。

例2:理论计算极限

得到了实际操作值,我们需要知道的是我们能优化的极限值是多少,也就是机器的理论计算极限,这个极限我们永远也达不到,但是我们必须明确的知道,比如理论极限是2秒,我们已经从10秒优化到2.01秒了,基本就没有必要再继续花大量时间优化速度了,而应该考虑买更多的机器或者更新的设备。

各个设备的理论极限可以通过其芯片说明计算得到,比如说:

  • Tesla K10 单精度峰值浮点数计算次数:745MHz核心频率 x 2GPU/芯片 x(8个多处理器 x 192个浮点计算单元 x 32 核心/多处理器) x 2 OPS/周期 =4.58 TFLOPS
  • Tesla K10 内存带宽峰值: 2GPU/芯片 x 256 位 x 2500 MHz内存时钟 x 2 DDR/8位/字节 = 320 GB/s
  • 指令比:字节 4.58 TFLOPS/320 GB/s =13.6 个指令: 1个字节
相关推荐
狼刀流9 天前
(8) cuda分析工具
python·cuda
CodeLearing10 天前
【CUDA代码实践03】m维网格n维线程块对二维矩阵的索引
线性代数·矩阵·cuda
坐望云起14 天前
Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7
linux·ubuntu·nvidia·cuda·onnx·1024程序员节
狼刀流15 天前
(5)cuda中的grid、block
c++·cuda·1024程序员节
Mundaneman19 天前
架构发展史
架构·cuda
张大饼的最爱23 天前
CUDA 共享内存 shared memory
cuda·cuda c
张大饼的最爱24 天前
CUDA 事件计时
cuda
青石横刀策马25 天前
《CUDA编程》8.共享内存的合理使用
开发语言·算法·cuda
青石横刀策马25 天前
CUDA编程技巧(不断搜集更新)
c++·cuda
Mundaneman1 个月前
避免 warp 内分支发散的策略
cuda·warp·分支发散