当前位置:首页手机手机知识硬知识:手机GPU各指标参数揭秘

硬知识:手机GPU各指标参数揭秘

百事数码
2014-04-11 17:35 本站整理 0

 高级图形处理器在进行推广时通常比较多个低级别性能指标。例如,Imagination PowerVR GPU比较常用的比较指标为GFLOPS (测量计算吞吐量) ,每秒三角形生成数量(测量几何吞吐量),每秒像素数填充和每秒纹理数(测量填充率) 。

除了这些较为传统的指标,企业开始按照产品中所包含的内核数量来说明架构已经较为常见。尽管按照既定状况来说,内核数量的含义已经被GPU市场曲解。也就是说,这个词语具有延展性,经过一段时间这个词语在反映常见功能方面已经有所更新。我来说明内核数量的常见意义。
 
什么是内核?
 
这要依据实际情况而定。内核数量的意义在以前是表示处理器前端的数量。内核并不复杂,前端的作用是调度执行线程。几乎所有高级GPU都已经简化设计,在计算资源前端设置多个调度器和相关调度逻辑,执行预订的任务。
每个调度器跟踪数个需要执行的线程,在单个时钟周期中运行单个程序的单一指令。单个指令指标的作用是在一组算资源上运行程序,不考虑线程数量或者计算资源的共享方式,这是内核的通常定义。
但是,我们也用这个内核来说明Series5 SGX GPU的整个状况。例如在SGX544MP3中,共有SGX544MP3的3个完整例程—可以复用所有GPU资源,我们称之为MP3配置,或者叫3核 GPU。
 
多核的误区
 
因此,随着高级移动系统中CPU内核数量迅速增加, GPU厂商要表达的信息是GPU也是多核设计,我们的许多竞争对手将独立的ALU流水线视作内核以强调其优势。但这些ALU流水线不能实现完全独立的相互调度,这些流水线与SIMD模式中的流水线一样每个时钟周期运行同一指令。并未出现我们所指的独立前端或独立指令指针,但尽管如此市场依然称其为一个内核。
我们按照同样的方式从基本的构建模块---统一着色器集群(Unified Shading Cluster,USC)到独立流水线来说明PowerVR Rogue,来看一下如何计算内核数量。
 
PowerVR Rogue USC
 
Rogue的架构是由多个模块构建而成,这些模块称为统一着色器集群,简称USC。我们扩展这个架构来满足客户对GPU的需求,以支持系统级芯片及专门的细分市场,我们将数个USC以及其他相关资源连接在一起后集成在整个GPU IP上。
打开USC,您会发现用于分析数据并得出结果的是数个ALU流水线。我们并行设置这些流水线,每个USC设置16个流水线。这样设置的原因是,图像呈并行处理,其中多个相关的数据,通常是矢量或像素同时运行。事实上,高级像素着色的属性驱动相关像素是并行的,因此有必要同时运行这些高级像素。
 
标量SIMD执行和矢量低效
 
USC的关键属性是按照标量模式处理数据。也就是说对于给定的工作项目,例如一个象素,USC不是在同一时钟周期内的同一独立管道上同时执行红、绿、蓝和透明度的矢量。相反, USC在一个时钟周期内执行一个红色组件,接下来执行蓝色组件,以此类推,直到执行完所有组件。为实现矢量基准单位的峰值吞吐量,标量SIMD单元并行处理多个工作项目。例如,每个时钟周期内处理一个像素的4-wide矢量的峰值吞吐量相当于4-wide 标量SIMD单元,可在每个时钟周期内处理四个像素。
硬知识:手机GPU各指标参数揭秘
表面上看这两种方法的吞吐量相同。但是,高级GPU负载通常由使用许多不同数据宽度的数据组成。例如,通常颜色数据宽度为4 ( ARGB ),而纹理坐标的数据宽度通常为2 ( UV),还有许多标量实例( 1个组件)处理,如典型的光照计算一样。
 
在光照计算中,如果数据处理没有填满整个矢量宽度时,就会浪费矢量处理器宝贵的计算资源。在标量架构中,正执行的运算采用一种运算类型,在同一时间运行一个组件,并行处理同一任务。例如着色处理中完全由标量处理组成,在4-wide矢量架构中执行25%的任务,而在标量SIMD架构中本应执行100%的任务。
多个低功耗ALU!
 
我们再来说说USC并行任务中的独立流水线。共有16个流水线,每个流水线内部实际上存在数个执行任务的ALU。即2个FP32 ALU,2个FP16 ALU,以及1个专用函数ALU 。
 
为什么使用专用FP16 ALU?主要是为了节省功耗同时也是为了提高性能。与FP32 ALU相比,简化ALU逻辑复杂度可以较低功耗执行FP16指令组,同时可执行更多的运算,在每个时钟周期实现更高的吞吐量。稍后您就会明白。
 
在高级图像渲染中以较低精度计算可能需要耗费较多时间,而APIs Rogue力求在所有通用图形中支持混合精度运算,其中包括Direct3D 11,以及更常见的OpenGL ES2和ES3 APIs。在嵌入式图形运算中没有构建混合精度计算流水线是个错误,原因是执行混合精度工作量会造成功率放大。
 
提示:支持键盘“← →”键翻页 阅读全文
意见反馈
返回顶部