论文部分内容阅读
大规模科学与工程计算已经成为当前科学研究不可或缺的重要手段,极大地推动了科技的发展和人类的进步。当前超级计算机已经进入千万亿次(Peta-scale)浮点计算能力的时代,但诸如高能核物理、材料化学、生命科学等一系列挑战性计算应用表现出对百亿亿次级(Exascale)计算能力的超高需求。由于GPU、MIC(又称Xeon Phi coprocessor)等加速器的性能功耗比优势,基于加速器搭建异构超级计算机已经成为高性能计算领域从P级到E级发展的重要趋势,如基于NVIDIA GPU加速器的天河-1A,和基于Intel新型MIC加速器的天河-2。领域应用软件是发挥E级计算系统能力的保障。然而,异构体系结构在缓解通信墙、可靠性墙和能耗墙的同时,加剧了编程墙。因此,如何快速地开发大规模并行应用程序,高效率地发挥当前高性能异构系统的性能,已经成为当前异构并行计算研究面临的一个挑战性问题。我国自主研发高性能超级计算机系统的能力已达到国际顶尖水平,然而与其不相匹配的是,我国的高性能计算应用软件开发的水平还远远落后于国际先进水平。本文面向真实的应用领域,根据课题研究和工程项目实际结合的需要选取了3个具有一定代表性的真实大规模科学与工程计算应用(贝叶斯分析构建物种进化树,组织级心脏电生理学模拟,纳米精度的亚细胞级心脏钙离子动力学模拟),以千万亿次的天河系列异构超级计算机(天河-1A、天河-2)为研究平台,围绕真实应用软件程序开发,研究基于GPU/MIC加速的异构系统的大规模并行计算关键技术。论文工作主要集中在以下四个方面:1.当前贝叶斯分析进化树应用软件都不能同时完全利用异构超级计算机中的CPU和GPU,造成了极大的计算资源浪费。本文面向CPU-GP异构阵列,提出了对贝叶斯进化分析的一种新颖混合并行算法o MC3,使用MPI+Open MP+CUDA的混合并行编程模型,提出一个简单高效的负载划分策略,能够同时高效地利用异构系统中的CPU多核和GPU来协同计算。基于天河-1A的实验测试展示了o MC3对性能的改进和良好的扩展性,验证了负载划分策略。这是首次贝叶斯分析进化树应用扩展到数千CPU核和数百GPU并实现了高效的CPU-GPU同时计算。本文工作同时也具有通用价值,因为它讨论了混合编程技术,可以指导异构系统上其他应用的混合并行编程以及异构协同计算。2.当前缺乏基于大规模GPU阵列的组织级心电模拟设计实现和性能研究,本文基于GPU异构系统,提出了心电模拟中多种细胞模型和数值解法的大规模并行设计和实现方案,并完成了大规模性能量化分析和建模。心电模拟的多节点映射方案整体上通过数据网格的层次化域分解来并行计算任务。上层用MPI多进程开发节点间并行性,下层用CUDA多线程开发GPU众核并行性。数值求解的GPU kernel实现考虑了GPU众核并行度的线程粒度设计,以及局域性的GPU层次存储访问设计。实验在天河-1A上使用多达128个GPU,测试并详细量化分析了三种不同的模型和解法搭配的实现性能。本文研究首次给出了一个在超过100GPU的大规模GPU阵列上完成的心电模拟的性能真实预期。3.由于巨大的计算需求,当前缺乏纳米精度的心脏亚细胞级钙动力学数值模拟。本文基于新型CPU-MIC异构系统,提出了接近纳米精度的亚细胞级钙动力学数值模拟的一种并行设计与实现方案,并在天河-2上获得了真实的模拟结果。联合使用向量化,层次化cache数据分块,寄存器重用等优化手段来克服编程新型MIC体系结构的挑战。并行设计有效开发了单MIC、单节点、多节点的层次化并行。在天河-2上的实验使用多达4096个计算节点(12288个MIC协处理器)获得了1.27 Pflop/s的双精度性能,同时展现了良好的强/弱扩展性。实际获得并分析了一个心肌纤维节在3nm精度长达24ms的模拟结果,使得纳米级精度的模拟更加接近为生物医学领域提供了研究依据。本文是首次在3nm精度上提出了亚细胞钙波动产生和传播模型并获得和分析了模拟结果。4.针对在异构阵列中节点内多MIC和host的高效协同计算问题,本文提出了一种基于节点内多MIC异构阵列,面向Stencil结构化网格计算类应用的并行编程框架MOCS。其包括一个混合并行编程模型的框架抽象、负载划分及流水线式通信优化策略、以及具体的编程实现步骤。其基于Intel MIC软件栈中的两种底层API:COI+SCIF,混合使用MPI+Open MP+COI+SCIF编程,并通过合理负载划分,节点内和节点间通信优化,实现混合多层次并行计算。实验以一个真实3维7点stencil计算网格应用作为例子,按照此框架实现并在天河-2上进行了测试。结果表明,MOCS能较好地解决节点内多MIC阵列的多层次并行,通信隐藏以及CPU-MIC协同计算问题。本文是首次给出了一个在新型节点内多MIC异构阵列面向Stencil计算应用的编程框架。综上所述,本文面向真实领域应用,针对基于GPU/MIC加速器的异构大规模并行计算问题提出了有效的解决方案,并在天河系列超级计算机上进行了验证,对于推动领域应用的异构大规模并行计算研究和领域的实际科研进步具有一定的理论意义和应用价值。