标签: maxwell

1个CUDA核可以处理每个时钟超过1个浮点指令(Maxwell)吗?

Nvidia GPU列表 - GeForce 900系列 - 有写道:

4单精度性能计算为着色器数量乘以基本核心时钟速度的2倍.

例如,对于GeForce GTX 970,我们可以计算性能:

1664核心*1050 MHz*2 = 3 494 GFlops峰值(3 494 400 MFlops)

我们可以在列中看到这个值 - 处理能力(峰值)GFLOPS - 单精度.

但为什么我们必须乘以2

写道:http://devblogs.nvidia.com/parallelforall/maxwell-most-advanced-cuda-gpu-ever-made/

SMM使用基于象限的设计,具有四个32核处理模块,每个模块具有专用的warp调度程序,能够在每个时钟发送两条指令.

好的,nVidia Maxwell是超标量体系结构,每个时钟发送两条指令,但是1个CUDA内核(FP32-ALU)每个时钟可以处理多于1条指令吗?

我们知道1个CUDA-Core包含两个单元:FP32-unit和INT-unit.但INT-unit与GFlops(每秒浮点运算)无关.

即一个SMM包含:

  • 128 FP32单元
  • 128 INT单位
  • 32 SFU-unit
  • 32 LD/ST单元

要获得GFlops的性能,我们应该只使用:128个FP32单元和32个SFU单元.

即如果我们同时使用128个FP32单元和32个SFU单元,那么我们可以获得160个指令,每个SM每个时钟具有浮点运算.

也就是说,我们必须通过1,2 =(160/132)的instad为2.

1664核心*1050 MHz*1,2 = 2 096 GFlops峰值

为什么在wiki中写入我们必须多个核心*MHz乘2?

在此输入图像描述

在此输入图像描述

benchmarking cuda gpgpu nvidia maxwell

1
推荐指数
1
解决办法
2533
查看次数

标签 统计

benchmarking ×1

cuda ×1

gpgpu ×1

maxwell ×1

nvidia ×1