论文部分内容阅读
随着处理器技术的发展以及应用对计算需求的增长,微处理器片上集成的资源与核心数越来越多,呈现出异构众核的发展趋势。我国性能最强的超级计算机神威·太湖之光便由40960个自主设计的众核异构处理器SW26010构成。SW26010处理器采用了特殊的主从核结构,片上集成了 260个异构计算核心,能够提供高达3.06TFlops的峰值性能,然而其独特的硬件架构也对并行软件的开发提出了极大挑战。SymPIC是一款采用保辛结构算法针对Vlasov-Maxwell等离子体系统的模拟软件,能够支持长期大规模高效等离子体问题模拟。本文的研究目标是基于等离子模拟软件SymPIC,针对神威众核平台重新实现和优化等离子体大规模模拟的并行算法,克服硬件架构上的一系列难题,充分释放硬件计算能力,并从应用角度出发为国产超算系统结构改进提出参考意见。本文的主要研究工作与成果包括以下几个方面:(1)为了深入理解SymPIC的代码结构与运行时行为特征,本文在商用平台上进行了大量的分析工作。一方面,对SymPIC的程序结构进行分析,介绍其组成模块以及主要函数调用关系,并在此基础上给出了计算核心代码结构与数据结构。另一方面,在商用平台上利用性能分析工具对SymPIC进行全面的测试分析,明确了其计算、访存、通信与I/O的行为特征,为神威平台上的优化工作提供参考。(2)介绍了 SymPIC在神威上的并行算法与优化方案。首先给出了任务划分、核心代码结构以及并行编程模型等并行算法细节,并进行了针对性的瓶颈分析。针对计算效率低的问题,本文提出了两种不同粒度的向量化方案,充分挖掘其数据级并行性,并在一定程度上缓解了指令Cache缺失率高的问题。为了克服访存严重受限的问题,通过DMA操作与数据重排布两种手段加速数据在存储器间的移动,并设计了软件模拟Cache与多缓冲区预取方案实现数据重用与访存开销隐藏。最后,提出了分布式I/O方案保证大规模I/O性能,将输出结果文件开销控制在可接受范围内。(3)设计了详尽全面的实验以对神威太湖之光平台上的SymPIC进行性能评估,实验结果表明相对于纯主核版本与从核并行化版本,优化后的SymPIC取得了 88.30倍和2.57倍的加速比,同时强弱可扩展性测试的并行效率分别能够达到86%和94%以上。本文还分析了 SymPIC在神威·太湖之光上的软硬件受限情况,为国产超算软硬件的改进提供参考。