CPU/GPU协同并行计算研究-zigbee技术实践教程

值天气预报[4],地质勘探[51、代数计算[6.7]、分子动力学模拟‘引、数据库操作D03、频谱变换和滤波[m12]等。特别是统一渲染架构发布以来,越来越多的科研人员(包括无任何图形API编程经验的科研人员)开始GPU非图形应用的研究,逐渐形成了新的GPGPU研究领域。对于GPGPU领域的研究工作,文献[2,13—14]等优秀的综述已从GPU的发展历史、体系结构、编程模型、软件环境和成功案例等方面进行了系统阐述。本文仅从CPU/GPU协同并行计算的角度对国内外的研究工作进行回顾和分析。 2.1协同计算概念及GPGPU研究分类CPU/GPU协同并行计算,其关键在于如何实现两者的高效“协同”。从国内外大量的研究工作来看,“协同”分为两个层次:1)CPU仅负责管理GPU的工作。为GPU提供数据并接收GPU传回的数据,由GPU承担整个计算任务;2)除管理GPU外,CPU还负责一部分计算任务,与GPU共同完成计算。第一层次的“协同”比较简单,CPU与GPU间分工明确,但浪费了宝贵的CPU计算资源。如IBM的Power7处理器具有32个核心,因此CPU也具有强大的计算能力。可见,第二层次的“协同”是未来协同并行计算的发展方向。目前,“协同并行计算”还没有统一的定义。鉴于许多文献[4,8,15-16]将GPU视为加速部件或协处理器,刘钦等[5]将其定义为CPPC(co-processing parallel computing)。在异构混合并行系统中,CPU和GPU都是并行计算资源,只是体系结构及计算方式不同,无须区分两者的主从关系。因此,本文将“协同并行计算”定义为“synergetic parallel computing”。 CPU/GPU异构机群的组织形式通常是将一定数量的多核CPU和GPU封装到一个节点内(如图1所示),继而由若干节点互联成异构机群。将CPU/GPU异构机群的计算资源简单抽象为三元组PG=ENC,CC,GC3,各分量分别表示节点数目、每个节点的CPU数目和GPU数目;如果该机群存在节点问异构特性,那么PG定义为[NC,CCENC3,GCENCJ],各分量分别表示节点数目、相应节点的CPU数目和GPU数目。根据参与协同计算的CPU和GPU硬件资源规模,目前国内外GPGPU研究可以划分为三类:GPU通用计算研究(PG=[1,0,G>O])、CPU/GPU协同计算研究(PG=[1,C> o,C>o])以及CPU/GPU协同并行计算研究(PG=EN>I, C>o,0>03)。 i“~‘《~“∥一≯⋯。 }I CPU与G^J同H联}口煎刍二面图1节点内CPU/GPU组织形式2.2 GPU通用计算研究(PG=[1,O,G>03),其计算规模限于单个节点。计算任务完全由GPU承担,因此该“协同”属于第一层次。由于GPU硬件以及软件开发环境的限制,早期的GPGPU研究[7J7]必须紧密结合GPU硬件细节并借助图形API来实现GPGPU程序。随着统一架构GPU及CU一·6· DA[18]和Brook+[1 91等编程模型的出现,越来越多的领域专家利用GPU加速其具体应用问题。I,iu等L2虬基于CUDA研究分子动力学模拟问题;Cevahir等£21]利用GPU求解稀疏对称线性系统,并实现了混合精度的多GPU共轭梯度求解器; Chen等陋3基于CUDA实现了可支持更多的元素类型的快速排序算法.并针对GPU体系结构进行了性能优化;Igual等‘223基于GPU研究了线性代数和图像处理问题,并总结出数值算法在GPU上获得高性能应具备的特点。 2.3 C'PU/GPU协同计算研究CPU/GPU协同计算研究(PC;----[1,C>O,C>o]),其计算任务由CPU和GPU两者共同完成,属于第二层次的“协同”,但是协同计算规模较小,仅限于单节点。方旭东【24J基于CPU/GPU异构平台,研究了矩阵乘、LU分懈和Mygrid等科学计算程序的新型并行算法,提出了3种任务划分模型及4种GPGPU程序优化策略;在单节点规模下,CPU/GPU协同并行版本的矩阵乘、LU分解和Mygrid等分别获得了CPU版本133.8倍、88.86倍和15.06倍的性能加速。刘钦等[5]实现了非对称走时Kirchhoff叠前时间偏移的CPU/GPU协同并行计算,使其运算速度提高到单核CPU版本的100~ 300倍,且基于此成果开发出油气勘探地震处理CPU/GPU协同并行计算商业系统。 2.4 CPU/GPU协同并行计算研究(PG一[Ⅳ:>1,C>O,G> 03),涉及到N个节点,每个节点的c颗CPU和G颗GPU协同完成计算任务。鉴于大型科学及工程计算问题对高性能计算资源的巨大需求,针对这些问题的GPGPU研究基本属于该类,这也是本文关注的重点。目前。国内外已有大量的研究机构开展多核CPU/GPU异构混合平台的协同并行计算研究,此处仅列举几个影响较大的项目,重点介绍其立项依据、研究内容和研究方法等。 2.4.1 WI心GPU数值天气预报的发展与高性能计算机及计算技术的不断进步密切相关,当前气象科学家通常使用包含大量处理器的机群系统进行超大规模数值模拟。但时效性要求较高的应用(如实时预报或者气候预报等)应具有较好的强可扩展性,因此需要更快而不仅是更大规模的高性能计算平台。为此, WRF模式团队启动了WRFGPU项目[2s3,基于新的多核CPU和GPU异构混合平台开发WRF模式中的细粒度并行性,提高WRF模式的强可扩展性。其目标包括:1)确定WRF模式物理和动力过程的关键内核,针对各内核的计算访存比、数据并行性、内存使用等建立数学模型;2)实现内核基准程序集,用来评测当前及未来异构高性能计算平台在天气和气候研究中的加速效果。目前的内核基准程序集包含5个内核:WSM5云微过程[“、WFOPD标量平流[2引、WCK化学动力求解器[2引、RRTM长波辐射物理过程和SWRAD短波辐射物理过程,其中前3个内核已发布CUDA版本。 WSM5云微过程模块的代码量仅占WRF模式的0.4%,但运行时间占串行总时间的1/4。Michalakes等:41研究了该计算密集模块的CPU/GPU协同并行计算技术,采用Mr'I/ CUDA并行编程模式,每个MPI进程绑定一个CPU-GPU组合。作者基于Illinois大学NCSA机群进行了大量的数值试验,结果表明该模块性能可提高9.4倍,而WRF模式的整体万方数据
pdf 文件大小:655.47KB