Here, blog from arm说,使用flops来衡量性能。但这就足够了吗?
例如,在游戏引擎中,需要对大量纹理进行采样,这可能会降低fps。flops能告诉我们采样纹理的能力吗?
发布于 2018-09-06 06:04:47
这是一个非常好的问题,也很复杂。它涉及到现代计算机体系结构中的许多主题。因此,很难在简短的答案中涵盖所有内容。但我会尽我最大的努力回答这些问题,并希望为OP指明一些方向来遵循。
实际上,对于CPU和GPU,或者任何类型的计算设备,GFLOPS只是方程式的一部分。GFLOPS根据ALU (算术逻辑单元)性能来衡量设备的纯计算能力,ALU(算术逻辑单元)性能告诉开发人员在特定时间内可以完成多少计算。然而,在现代计算机体系结构中,内存性能通常是真正的系统瓶颈。假设一个典型的计算任务工作流程如下(一个非常简化的版本):
GFLOPS仅可能测量计算设备完成步骤2的潜力(即使对于步骤2,我们仍有许多其他因素。例如,现代计算机具有多级高速缓存以提高数据加载和存储性能,因此,步骤2中的数据很可能被存储在高速缓冲存储器的某一级中。
为了获得良好的整体性能,我们需要在存储系统和计算ALU之间实现良好的平衡。因此,高性能计算背后有许多理论告诉人们如何实现最佳性能或如何设计计算机系统以实现最佳性能。其中一种理论是屋顶线模型:https://people.eecs.berkeley.edu/~kubitron/cs252/handouts/papers/RooflineVyNoYellow.pdf。
为了回答你关于图形系统的问题,纹理采样是在GPU内核内的纹理存储器硬件系统中完成的,它包括纹理存储器、纹理缓存、纹理采样单元等。因此,纹理采样主要取决于纹理单位。
但是,现代计算机系统是一个复杂的系统。ALU、内存系统、缓存、驱动程序、着色器编译器等诸多因素都会显著影响系统的整体性能。为了实现更好的性能,我们需要考虑所有这些因素。
https://stackoverflow.com/questions/52176642
复制相似问题