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个字节
相关推荐
哦豁灬7 天前
CUDA 学习(3)——CUDA 初步实践
学习·cuda
扫地的小何尚7 天前
NVIDIA TensorRT 深度学习推理加速引擎详解
c++·人工智能·深度学习·gpu·nvidia·cuda
哦豁灬9 天前
CUDA 学习(2)——CUDA 介绍
学习·cuda
拿铁加椰果12 天前
docker 内 pytorch cuda 不可用
pytorch·docker·容器·cuda
陈 洪 伟20 天前
CUDA编程(4):共享内存:减少全局内存访问、合并全局内存访问
cuda·共享内存·全局内存
System_sleep21 天前
win11编译llama_cpp_python cuda128 RTX30/40/50版本
windows·python·llama·cuda
nuczzz22 天前
NVIDIA k8s-device-plugin源码分析与安装部署
kubernetes·k8s·gpu·nvidia·cuda
真昼小天使daisuki24 天前
最简单的方式:如何在wsl2上配置CDUA开发环境
linux·cuda
Cony_1425 天前
Windows系统中在VSCode上配置CUDA环境
windows·vscode·cmake·cuda
NullPointerExpection1 个月前
ubuntu20.04已安装 11.6版本 cuda,现需要通过源码编译方式安装使用 cuda 加速的 ffmpeg 步骤
c++·ffmpeg·makefile·cuda