论文部分内容阅读
随着众核处理器微结构技术的发展,片上集成的计算和存储资源越来越多,处理器结构越来越复杂。海量的片上资源和多样化的硬件结构使得高性能计算应用在众核处理器上并行优化的难度越来越高。当前世界排名第一的超级计算机神威·太湖之光由完全自主设计的异构众核处理器SW26010构建而成。该处理器采用独特的主从结构,片上包含260个异构核心,理论峰值性能高达3.06Tflops。鉴于其硬件结构的独特性,现有的商用平台上的科学计算应用必须经过重构和优化后才能够在神威·太湖之光上运行。GROMACS是当前最流行的开源分子动力学模拟软件之一,具有模拟速度快和适用范围广的优点,在新材料研制、化工模拟、生物医药等诸多领域被广泛应用。本文的研究目标是在神威·太湖之光上开展GROMACS的并行实现和性能优化工作,尝试突破现有软件在申威众核架构上并行优化所面临的一系列挑战性难题,充分发挥出神威·太湖之光的计算能力,为国产众核处理器应用水平的提高和体系结构的改进提供指导。本文主要研究内容和工作成果如下:(1)为了适应申威处理器独特的异构众核架构,我们为GROMACS热点函数设计了合理的任务划分策略和并行实现方案。利用主核与从核间的并行性,我们实现了基于三级流水线的任务级并行模式,在不引入额外时间开销的前提下解决了热点函数并行化过程中出现的负载不平衡问题和数据依赖问题。(2)为了解决申威众核架构访存带宽受限的难题并充分利用处理器计算资源,我们提出了众多性能优化策略包括合理利用SPM、DMA、软件Cache、从核混合并行等。利用GROMACS热点函数的访存局部性和申威众核处理器从核间的并行性,我们实现了热点函数运行时数据的高效重用并将从核访存时间开销充分隐藏。针对每一条优化策略,我们都对其实现细节和性能收益展开详尽地分析与讨论。(3)我们将GROMACS在从核上优化后的版本与其仅在主核上运行的版本进行比较。在单核组上,我们使用64个从核将GROMACS热点函数性能加速了约27倍,并且将软件整体性能加速了约6倍。在多节点扩展方面,我们将GROMACS的峰值模拟速度提升了约2倍。