美文网首页
GPU的性能指标是如何计算的

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

作者: 陈成_Adam | 来源:发表于2019-12-26 10:00 被阅读0次

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

    GPU性能指标

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

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

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

    理论上的峰值

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

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

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

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

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

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

    纹理填充率

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

    比如NAVIDA的GeForce GT 430

    • 纹理单元运行的时钟频率为:700 MHz
    • 纹理单元的个数:16个
    • 每个时钟纹理单元可以处理的纹素个数:1个

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

    像素填充率

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

    比如NAVIDA的GeForce GT 430

    • ROP运行的时钟频率:700 MHz
    • ROP的个数:4个
    • 每个时钟ROP可以处理的像素个数:1个

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

    浮点处理能力

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

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

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

    比如NAVIDA的GeForce GT 430

    • 渲染核运行的时钟频率:1400 MHz
    • 渲染核的个数:96个
    • 每个渲染核包含的单精度浮点处理单元的个数:2个(这个数值是逆推出来的,原网页没有该信息)

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

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

    总结

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

    参考

    相关文章

      网友评论

          本文标题:GPU的性能指标是如何计算的

          本文链接:https://www.haomeiwen.com/subject/dscvnctx.html