移动GPU通用计算现状与展望

本文探讨了GPU从图形渲染扩展到通用计算的转变,特别是在移动设备中的应用。移动GPU通过CPU+GPU异构计算模式提供高性能和高性价比。尽管面临执行条件指令效率低和依赖大量数据并行的局限,GPU在图像处理、信号处理等领域展现出潜力。目前市场上的移动GPU主要由几家厂商主导,性能不断提升。然而,移动GPU的编程接口和操作系统支持仍待完善,未来趋势将是性能提升、架构统一和更多计算应用的发展。
摘要由CSDN通过智能技术生成

GPU通用计算简介

(成文于2014年9月,受情报来源限制,文中处理器型号信息可能与上市时规格不同, 不同平台性能、功耗、带宽测试方法不同,不能简单比较)

传统上,GPU的应用被局限于处理图形渲染计算任务。随着GPU可编程性的不断提高,利用GPU完成通用计算渐渐活跃起来。将GPU用于图形渲染以外领域的计算称为GPGPUGeneral-Purpose computing on Graphics Processing,基于GPU的通用计算)。GPGPU计算通常采用CPU+GPU异构模式,由CPU负责执行复杂逻辑处理和事务管理等不适合数据并行的计算,由GPU负责计算密集型的大规模数据并行计算。这种利用GPU强大处理能力和高带宽弥补CPU性能不足的计算方式在发掘了计算机潜在的性能,在成本和性价比方面有显著优势。

GPU计算拥有性价比高,性耗比高,设备易得的优势,在图像视频处理、石油勘探、分子动力学、信号处理、人工智能、数据挖掘、基因测序、密码学等领域得到了广泛应用。在移动计算中,GoogleAndroid 4.2开始使用GPU加速renderscript进行图像处理和图像/视频压缩。NvidiaARM则分别使用GPU加速照相处理架构,代替部分ISP功能。

2010年以来,移动设备GPU的性能快速提高,发展速度远远超过了摩尔定律。

进入2014年,市场上在销售的中高端处理器性能已经达到100GFlosp左右,并且已经发布和即将发布一批搭载KeplerMali-T760 MP16等理论性能超过300GFlops GPU的处理器。预计到2015年末,高端移动处理器的性能将达到1TFlops左右。

以下是2014Q1手机/平板常见移动处理器的CPUGPU及处理能力:

SoC Model

CPU Type

CPU GFlops

GPU Type

GPU GFlops

Qualcomm APQ8064AB

(SnapDragon 600)

4xKrait300

@1.9GHz

60.8

Adreno320

(96ALU)

97.2

Qualcomm APQ8974AB

(SnapDragon 800)

4xKrait400

@1.9GHz

73.6

Adreno330

(128 ALU)

158.4

Nvidia Tegra 4

4xcortex-A15

@1.9GHz

60.8

GeforceULP x 72

96

AppleA6X

2xApple Swift@1.4GHz

22.4

SGX554 MP4

76.8

AppleA7

2xApple 64bit@1.5GHz

48

G6430

(4 Clusters)

115.2

MTK MT6592

8xcortex-A7@1.7GHz

27.2

Mali-450 MP4

41.8

MTK MT8135

2xcortex-A15@1.7GHz + 2xcortex-A7@1.2GHz

32

G6200

 

40

表 1 2014Q1市场常见移动处理器CPU/GPU性能

以下是2014Q1新发布处理器CPUGPU及处理能力:

SoC Model

CPU Type

CPU GFlops

GPU Type

GPU GFlops

MTK MT6595

4xA17@2.1+4xA7@1.7

80.8

Adreno330

(128 ALU)

158.4

Intel Z3580

4xMoorefield@2.33GHz

N/A

PowerVR G6430

136

Tegra K1 Quad A15

4xcortex-A15@2.3GHz

73.6

Kepler

364.8

表 2 2014Q1新发布处理器CPU/GPU性能

从表一、表二可以看到,即使以NEON向量处理器计算理论性能,同一SoC上的GPU性能也要超过CPU。而且GPUCPU的性能差距在高端和较新的处理器上更加明显。事实上,GPUCPU的处理能力差距比理论峰值还要更大:

目前的ARM架构移动处理器主要通过NEON SIMD指令或者VFP指令集进行浮点运算。在进行相同的操作时,VFP的吞吐量只有NEON的大约四分之一。标准Android操作系统的dalvik虚拟机不支持生成Neon指令,在运行Java时只能使用VFP指令。即使通过NDK或者JNI,如果要调用数学函数或者除法等较为复杂的处理,也需要使用VFP指令集。而GPU的执行单元可以直接执行数学函数,甚至有专门的硬件单元进行超越函数运算。而且,在进行图形/图象处理时,GPU除了运算单元外,纹理采样单元也可以进行一些运算。

GPU的缺点在于执行单元在运行条件指令时,某些情况下需要的时间是几个分支之和,而不是一个分支所需要的时间。另外,只有存在大量数据并行计算时,才能完全发挥GPU性能。因此GPU适合进行分支较少、线程间通信较少的大规模数据并行任务。

移动GPU现状与发展

目前移动GPU主要厂商有:Imagination Technologies、 QualcommARM、 NVIDIA、 VivanteIntel。其市场占有率如下表所示

 

1H’12

1H’13

Qualcomm

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值