Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc

Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc

ID:27499106

大小:202.00 KB

页数:11页

时间:2018-12-04

Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc_第1页
Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc_第2页
Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc_第3页
Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc_第4页
Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc_第5页
资源描述:

《Mali GPU编程特性及二维浮点矩阵运算并行优化详解.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MaliGPU编程特性及二维浮点矩阵运算并行优化详解  基于Mali-T604嵌入式GPU的二维浮点矩阵运算并行优化  ARMCortex-A15系列处理器是当前最新的嵌入式ARMSoC,该系列处理器首次集成了Mali-T600系列的移动端GPU,该系列GPU支持OpenGL以及OpenCL等计算框架,可以有效加速通用计算,而目前对其应用方法和实际优化效果的研究很少。本文基于以三星的Exynos5250处理器为核心的ArndaleBoard嵌入式开发平台,对集成于处理器上的Mali-T604嵌入式GPU的GPGPU(Gen

2、eral-PurposecomputaTIononGPU)技术进行研究并对不同运算规模的浮点矩阵乘法进行并行加速优化,提供实际测试结果。  GPGPU技术早年主要在超级计算机平台进行高性能计算,而近年该技术逐渐被引入嵌入式领域。但在过去的移动GPU平台上没有专门针对通用计算的软件框架和编程接口,软件设计者难以对于数据的同步和计算的并行进行控制,所以移动GPU在通用计算领域一直难以应用。本文基于Exynos5250SoC平台详述MaliGPU的硬件特性和将其应用于通用计算的编程的方法,最后将二维浮点矩阵乘法并行化作为优化实例

3、,验证MaliGPU的并行能力,为计划使用嵌入式GPU的GPGPU技术进行优化工作的研究人员和应用开发者提供技术参考和借鉴。    1.MaliT604GPU的硬件结构和编程特性  Mali是由ARM研发设计的移动显示芯片组(GPUs)系列,不仅能够在移动端提供强大的图像渲染能力,同时在近期对通用计算进行了良好的软硬件支支持。    1.1MaliT604GPU的组成结构  Mali-T604是Mali系列中首款使用统一渲染架构Midgard的移动GPU,Mali-T604GPU包含4个着色器核心,采用AMBA4ACE-L

4、ITE总线接口,该总线以CacheCoherentInterconnect技术为特色,在多个处理器之间提供完全Cache一致性,通过ARM的一致性和互连技术,计算任务在异构系统中进行共享处理时,可以轻松跨越CPU、GPU和其他可用计算资源,更高效地访问数据。图1展示了Mali-T604GPU的基本框架。如图2所示,Cortex-A15CPU核心以及MaliGPU核心物理上共享了片外的RAM存储器并保持了L2Cache的一致性。    图1Mali-T604基本硬件框图    图2Exynos5250处理器框图  Mali-

5、T604GPU在硬件层面优化了对任务管理和事件依赖的处理,并将这部分功能完全集成在其硬件的任务管理单元之中,可将计算任务从CPU卸载到GPU,并在活动的着色器核心之间实现无缝负载平衡。    1.2MaliGPU的并行化线程结构特征  MaliGPU进行通用计算的技术核心是以多核多线程的思想将密集的计算任务进行拆解,将大量的计算线程分配于众多计算核心中,GPU可以同时处理成百上千的线程,大量晶体管用于ALU.GPU适合做高密度数据的并行运算,只有在运算的并行粒度足够大的时候才能发挥出强大的并行运算能力。图3展示了CPU和M

6、aliGPU之间工作调配的过程。    图3Cortex-A15CPU和MaliGPU之间的工作调配  MaliGPU中每个计算线程会占用着色器核心的一部分资源(存储器和ALU等),每个线程占用资源的多少影响了同时并行处理的活动线程的数量。对MaliGPU,每一个线程都有自己的程序计数器,这意味着MaliGPU和桌面GPU平台不同,程序分支的发散不是一个影响效率的重要的问题。每个Mali-T604GPU的着色器核心最多可以同时容纳256个线程,MaliGPU在进行通用计算时需要大量的线程进行切换才能保证得到计算效率上的收益

7、,对于Mali-T604而言,这个最少的总工作项数量是4096.如果分配于单个着色器核心上的线程数目不足128,很可能带来并行效率的下降,这时需要拆分工作为不同的步骤,简化每个步骤的线程复杂度,让单个着色器核心并行容纳的线程数量足够多以保证并行度。  2.MaliGPU的并行化计算模型构建  Mali-T600系列的GPU对OpenCL1.1FullProfile标准进行了良好的支持,OpenCL是真正意义上的跨平台异构并行框架,能够真正挖掘出MaliGPU的并行计算特性。  2.1MaliGPU在OpenCL框架下的并行

8、任务抽象及线程规划  OpenCL是一个由编程语言规范,应用程序接口、库函数和运行时系统组成的跨平台异构并行计算框架,Mali-T604GPU在OpenCL下的抽象层次如下面的图4所示:    图4OpenCL针对Mali-T604的抽象层次  OpenCL的并行基于SMT(同时多线程)的思想,由用户指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。