论文部分内容阅读
神威·太湖之光是我国自主研制的新一代超级计算机系统,全系统峰值性能为每秒12.54亿亿次,持续运算速度为每秒9.3亿亿次,均位居当今世界第一。该系统采用了 40960颗申威26010众核处理器,共计1040万个处理器核心。申威26010处理器采用64位自主设计的申威指令系统和自主核心技术,核心工作频率1.45GHz,峰值性能每秒3.168万亿次浮点计算。神威·太湖之光通过构建自己的软硬件体系以保障从软件和硬件两个方面实现超级计算机系统的完全自主安全可控。由此带来的问题是,现有的应用软件无法通过简单的移植运行在该系统上,而是需要结合该系统的结构特点进行重新实现和优化。NAMD是一款基于Charm++并行编程模型的开源分子动力学模拟软件,能够在大规模并行计算机上快速模拟百万原子级别的大分子体系,曾获得过美国三大工程奖之一的戈登·贝尔奖,广泛应用于物理,化学,生物,材料,医学等各个领域。本文的研究目标是突破前人在十亿亿次系统上移植和优化NAMD软件遇到的一系列挑战性难题,在芯片级和系统级探索在神威·太湖之光上提升并行效率的方法,为其它大规模并行软件的移植和优化提供借鉴。本文的研究工作及成果主要包括:(1)NAMD软件在神威·太湖之光上的实现。通过深入分析NAMD的软件结构,热点计算函数,计算、访存、通信和I/O特征,以及Charm++并行编程模型和运行时,将其计算任务进行切分,并消除任务间的依赖关系,从而实现了NAMD软件在申威处理器上的并行实现方案。在移植NAMD依赖的第三方库时,采用交叉编译实现了 TCL,FFTW和Charm++在申威处理器上的移植。(2)NAMD软件在申威众核处理器上的芯片级优化。针对NAMD软件运行时特征和申威处理器结构特点,提出单节点上的优化方案,对NAMD软件进行软硬件一体化优化,包括数据访存优化,处理器内部工作模式优化以及针对处理器硬件特性做出的优化等。实验分析表明,优化后的程序性能较优化前提高了20倍左右。(3)NAMD软件在神威·太湖之光上的系统级优化。针对神威·太湖之光超大规模系统结构特点,提出了一种新的任务划分和负载平衡控制模型,解决了在超大规模下多机并行效率问题。实验分析表明,采用新的模型,当计算规模扩展到500万个原子时,可扩展至50000核组(325万核),程序性能提高了将近一倍。