GPU的性能指标是如何计算的

2019-12-26  本文已影响0人  陈成_Adam

通过阅读本文,你将知道GPU的性能指标都有哪些以及他们是如何计算出来的。

GPU性能指标

在GPU信息数据库-GPU Specs Database,可以查找到几乎所有GPU的信息。GPU信息中有一栏代表的是GPU的性能参数:Theoretical Performance。

通过阅读这一栏数据我们可以知道:

  1. 这些数据都是理论上的峰值
  2. 性能指标一般有:纹理填充率像素填充率浮点处理能力

理论上的峰值

所谓理论上的峰值可以理解为理想情况下的峰值,GPU在实际运行过程中几乎都跑不出该峰值。

在得出这个理论上的峰值的过程中,做了很多假设。

假设一,一个时钟完成一次处理。如:一个时钟完成一个像素的渲染,实际上一个时钟是完不成一个像素的渲染任务的,反而根据我们写的片段染色程序的复杂度,可能需要上百甚至更多的时钟。

假设二,数据已准备好。如:像素渲染的输入数据总是可以立马获取到,实际并非如此。

假设三,任务调度和逻辑控制不消耗时钟。

至于这个理论上的峰值是如何计算得来的,请参看下面章节的介绍。

纹理填充率

纹理填充率 = 纹理单元运行的时钟频率 x 纹理单元的个数 x 每个时钟纹理单元可以处理的纹素个数(理论值)

比如NAVIDA的GeForce GT 430

所以它的纹理填充率为11.20 GTexel/s。

像素填充率

像素填充率 = ROP运行的时钟频率 x ROP的个数 x 每个时钟ROP可以处理的像素个数

比如NAVIDA的GeForce GT 430

所以它的像素填充率为2.800 GPixel/s

浮点处理能力

浮点处理包含半精度、单精度和双精度浮点的处理。

下面以单精度浮点处理能力为例:

单精度浮点处理能力 = 渲染核运行的时钟频率 x 渲染核的个数 x 每个渲染核包含的单精度浮点处理单元的个数

比如NAVIDA的GeForce GT 430

所以它的单精度浮点处理能力为268.8 GFLOPS

注意:每个渲染核包含的单精度浮点处理单元的个数是逆推出来的。在本例中逆推出来是2,实际上还有可能是1,因为如果该单精度浮点处理单元支持乘加操作的话,一个浮点乘法和一个浮点加法,是两个浮点操作。

总结

  1. GPU的性能指标包含:纹理填充率、像素填充率和浮点处理能力
  2. 纹理填充率的计算方式为:纹理单元运行的时钟频率 x 纹理单元的个数 x 每个时钟纹理单元可以处理的纹素个数(理论值)
  3. 像素填充率的计算方式为:ROP运行的时钟频率 x ROP的个数 x 每个时钟ROP可以处理的像素个数
  4. 单精度浮点处理能力的计算方式为:渲染核运行的时钟频率 x 渲染核的个数 x 每个渲染核包含的单精度浮点处理单元的个数
  5. GPU性能指标的数值都是理论值
  6. 知道了GPU性能指标的计算方式,我们可以从GPU厂商公布的数据中逆推得到一些有用的信息

参考

上一篇下一篇

猜你喜欢

热点阅读