多核的误区 手机GPU各指标参数揭秘

2014-04-12 13:05:37来源: 驱动之家 关键字:多核  GPU  指标参数  揭秘
    高级图形处理器在进行推广时通常比较多个低级别性能指标。例如,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负载通常由使用许多不同数据宽度的数据组成。例如,通常颜色数据宽度为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。在嵌入式图形运算中没有构建混合精度计算流水线是个错误,原因是执行混合精度工作量会造成功率放大。

  性能和功能

  各个ALU的功能并不一样,我们来看一下每个ALU的作用,以便了解其性能:

  PowerVR Series6, Series6XT和Series6XE中的FP32 ALU能够在每个时钟周期执行2浮点运算。每个USC即每个时钟周期的64 FLOP峰值。



  PowerVR Series6 GPU内共有最多8个统一着色集群( USC )

  PowerVR Series6 GPU中的FP16 ALU能够在能够在每个时钟周期执行最高3浮点运算,我们在Series6XE和Series6XT 改进了FP16 ALU可在每个时钟周期执行最高4浮点运算。按照不同的产品和系列,每个USC在每个时钟周期执行高达128浮点运算。升级型Series6XE和 Series6XT更为灵活,执行流水线部分运算的编译器更为容易。



  PowerVR Series6XT GPU内共有最多8个Unified Shading Clusters( USC )

  最后来说一下具有专用功能的ALU,ALU可处理更复杂的算法和三角运算,如正弦、余弦对数、倒数和亲和数、标量运算。按照这些运算的性质,设置了ALU输出精度和性能。

  增强ALU内核配置

  现在,我已经说明从构建USC块到利用16个并行管道执行任务来说明Rogue计算架构,各个管道有较大的专用计算资源,我们按照竞争对手的方式来 说明内核。每个USC包括:32 FP32 ALU内核,高达64个FP16 ALU内核、16 个USC专用函数ALU内核。

  按照同样的方式将Rogue与市场竞争产品比对,ALU内核这个术语很重要,我们希望大家尽可能按这条思路来解释内核。

  最后,请记住,Imagination根据不同的产品Series6, Series6XT和Series6XE设置1对多的USC。以下为两个实例:

  PowerVR G6230: 两个Series6 USC-64 FP32 ALU内核,每个时钟周期执行高达128 FLOP – 64 FP16 ALU 内核,每个时钟周期执行高达192 FLOP。也就是按照600MHz的频率执行高达115.2 FP16 GFLOPS及高达76.8 FP32 GFLOPS。



  PowerVR GX6650: 六个Series6XT USC-192 FP32 ALU内核,每个时钟周期执行高达384 FLOP –384FP16 ALU 内核,每个时钟周期执行高达786 FLOP。也就是按照600MHz的频率执行高达460.8FP16 GFLOPS及高达230.4 FP32 GFLOPS。





关键字:多核  GPU  指标参数  揭秘

编辑:北极风 引用地址:http://www.eeworld.com.cn/xfdz/2014/0412/article_32294.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:诺基亚推MixRadio音乐服务:无需注册一点即用
下一篇:何为堆栈式镜头 手机摄像头传感器解析

论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
多核
GPU
指标参数
揭秘

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved