Here, blog from arm说用拖把来测量性能。但这够了吗?
例如,在游戏引擎中,需要对大量纹理进行采样,可以减少fps。翻牌能告诉我们对纹理进行采样的能力吗?
这是一个非常好的问题,也很复杂。它涉及现代计算机体系结构中的许多主题。因此,在简短的回答中很难涵盖所有内容。但我会尽力回答问题,并希望指出OP的一些方向。
实际上,对于CPU和GPU,或任何类型的计算设备,GFLOPS只是等式的一部分。 GFLOPS根据ALU(算术逻辑单元)性能测量设备的纯计算能力,该性能告诉开发人员在一定时间内可以完成多少计算。但是,在现代计算机体系结构中,内存性能通常是真正的系统瓶颈。想象一下,典型的计算任务工作流程如下(非常简化的版本):
GFLOPS只能测量计算设备完成第2步的可能性(即使对于第2步,我们仍然有很多其他因素。例如,现代计算机具有多级缓存以改善数据加载和存储性能,因此,步骤2中的数据很可能存储在高速缓冲存储器的某个级别中。
为了获得良好的整体性能,我们需要在内存系统和计算ALU之间实现良好的平衡。因此,高性能计算背后有很多理论告诉人们如何实现最佳性能或如何设计计算机系统以获得最佳性能。其中一个理论是Roofline模型:https://people.eecs.berkeley.edu/~kubitron/cs252/handouts/papers/RooflineVyNoYellow.pdf
为了回答与图形系统相关的问题,纹理采样在GPU核心内部的纹理存储硬件系统中完成,其中包括纹理存储器,纹理缓存,纹理采样单元等。因此,纹理采样主要取决于纹理单元。
但同样,现代计算机系统是复杂的系统。包括ALU,内存系统,缓存,驱动程序,着色器编译器等在内的很多因素都会对整体性能产生重大影响。为了获得更好的性能,我们需要考虑所有这些因素。