论文部分内容阅读
当前在工业界和学术界存在着多样的众核体系结构设计,使用众核正成为构建高性能计算系统的主流方式。面向众核结构的计算是一种新型的并行计算形式,如何针对众核的微体系结构特点来对应用充分有效地实施并行,这个研究领域待解决的问题还有很多。在本文中,我们以Stencil计算为例,在GPGPU和MIC两类不同的众核体系结构上实现应用优化,并对不同优化手段和优化效果进行评测和对比分析。 Stencil计算是大量科学和工程计算的核心,我们选取Stencil计算中的典型应用RTM(逆时偏移)算法为研究对象。RTM算法当前面临着存储量、计算量庞大且飞速增长的挑战。首先我们通过分析算法流程中的瓶颈和不足,在GPU上挖掘逆时偏移算法的并行性,并面向NVIDIA GPU体系结构从算法、访存管理、指令流等多方面进行优化。实验结果表明,通过有效利用GPU的存储和计算资源,我们的优化程序在保证计算精度的前提下,在单C2050 GPU卡上相比原单CPU核算法获得超过150倍加速、相比原GPU算法实现获得超过2.5倍的加速。 我们还针对INTEL MIC(英特尔集成众核处理器)体系结构对逆时偏移算法进行优化分析。充分发挥算法的并行性、发挥向量部件特性、提升存储管理效率是影响RTM算法在MIC上性能优化的关键。我们通过逐步增加优化手段,使得逆时偏移优化程序在MIC上获得超过C2050 GPU、接近K20GPU的性能,我们还总结出面向INTEL集成众核体系结构的应用优化方法。 本文我们提出了几点以GPGPU和MIC为代表的众核体系结构上对Stencil类计算应用实施优化的通用手段,并针对不同的众核平台给出了相应的优化技巧,给其他面向众核结构开发高性能应用的工作提供一定的帮助。