使用触发器来衡量移动GPU性能是否足够?

时间:2018-09-05 03:28:49

标签: opengl-es gpu

Here, blog from arm说用触发器来衡量性能。但是够了吗?

例如,在游戏引擎中,需要采样很多纹理,这可能会降低fps。拖鞋可以告诉我们采样纹理的能力吗?

1 个答案:

答案 0 :(得分:0)

这是一个非常好的问题,而且很复杂。它涉及现代计算机体系结构中的许多主题。因此,很难一言以蔽之。但我会尽力回答这些问题,并希望为OP指明一些应遵循的方向。

实际上,对于CPU和GPU或任何类型的计算设备,GFLOPS只是方程式的一部分。 GFLOPS根据ALU(算术逻辑单元)性能来衡量设备的纯计算能力,这告诉开发人员在一定时间内可以完成多少计算。 但是,在现代计算机体系结构中,内存性能通常是真正的系统瓶颈。想象一下,典型的计算任务工作流程如下(非常简化的版本):

  1. 从内存中读取输入数据
  2. 进行一些计算并生成输出值
  3. 将输出值存储回内存中

GFLOPS仅可能测量计算设备完成步骤2的潜力(即使对于步骤2,我们仍然有很多其他因素。例如,现代计算机具有多个缓存级别,以改善数据加载和存储因此,为了提高性能,第2步中的数据很有可能存储在某些级别的缓存中。

要获得良好的整体性能,我们需要在内存系统和计算ALU之间保持良好的平衡。因此,高性能计算背后有许多理论告诉人们如何实现最佳性能或如何设计计算机系统以实现最佳性能。其中一种理论是Roofline模型:https://people.eecs.berkeley.edu/~kubitron/cs252/handouts/papers/RooflineVyNoYellow.pdf

为回答与图形系统有关的问题,纹理采样是在GPU内核内部的纹理内存硬件系统中完成的,该系统包括纹理内存,纹理缓存,纹理采样单元等。因此,纹理采样主要取决于纹理单元。

但是同样,现代计算机系统是复杂的系统。许多因素包括ALU,内存系统,缓存,驱动程序,着色器编译器等,都会显着影响整体性能。为了获得更好的性能,我们需要考虑所有这些因素。