近年来近场动力学理论已经被应用于材料科学、生命科学以及灾害预测等多个领域。然而近场动力学数值模拟访因存量大以及计算量大,难以进行大规模、长时间的近场动力学数值模拟。高性能计算部张鉴研究员指导的博士生李昕元基于开源近场动力学数值模拟软件Peridigm在GPU上实现了大规模高性能的近场动力学数值模拟软件,研究成果近期发表在CCF B类会议 IEEE International Parallel & Distributed Processing Symposium(IPDPS),并入选了最佳论文候选(大会共收录4篇)。
该研究主要目标是利用SIMT加速器提供的出色的计算能力,并结合开源软件Peridigm提供的求解器,提供可以支持大规模、高性能的近场动力学数值模拟的模拟软件。工作主要包含四个部分:移植、内存优化、计算优化以及通信优化。在移植方面首先根据模拟的热点以及各部分的特点选择将键式计算的部分放到GPU上进行,同时考虑到GPU SIMT的特性,通过分析选择了增加冗余计算的方式在几乎不增加模拟时间的情况下将模拟的热点部分部署到GPU上。为了解决模拟的访存瓶颈,首先提出了线程分组策略来减少对访问邻居列表以及键损伤列表的访问量,同时利用GPU提供的warp shuffle机制实现了线程组内基于寄存器的快速数据共享。为了进一步提高计算效率,通过调整计算核心函数的表达式来减少除法和开方这类高延迟指令。最后基于MPI异步通信以及GPU提供的Stream异步机制,实现了多级的overlap策略,使得CPU-GPU间数据移动以及进程间数据通信的开销都可以被计算所掩盖。
该研究基于Peridigm提供的算例进行了测试,在单节点上相比不进行任何优化的GPU版本,获得了10.24倍的加速。同时跟目前已经有的一些PD模拟软件进行了比较,在相同功耗下,相比CPU版本的Peridigm可以获得9倍的加速比;相比在神威太湖之光上开发的近场动力学应用可以获得2.5倍的加速比。对于弱扩展性,当进程数从4进程扩展到512进程,扩展性接近线性;对于强扩展性,当进程数从4扩展到256,并行效率可以达到60%。(撰稿:李昕元)
相关成果:
Xinyuan Li, Huang Ye, and Jian Zhang.”Redesigning Peridigm on SIMT Accelerators for High-performance Peridynamics Simulations”,35th IEEE International Parallel & Distributed Processing Symposium (IPDPS’ 2021).
图1 各项工作的加速比。PAR是基础的GPU版本,GRP对应线程分组策略、REF对应计算优化、SHAR对应warp shuffle数据共享策略、FIN对应最终版本
图2 弱扩展性测试结果