首页|面向“嵩山”超级计算机系统的PuReMD软件移植与优化

面向“嵩山”超级计算机系统的PuReMD软件移植与优化

张帅帅

面向“嵩山”超级计算机系统的PuReMD软件移植与优化

张帅帅1
扫码查看

作者信息

  • 1. 郑州大学
  • 折叠

摘要

反应力场分子动力学(ReactiveForceFieldMolecularDynamics,ReaxFFMD)方法能够模拟大规模原子系统和复杂化学反应,目前已广泛应用于化学、物理等领域。基于ReaxFFMD实现的PuReMD(PurdueReactiveMolecularDynamics)软件存在计算量巨大、较高的存储空间需求和模拟时间长等问题。而我国新一代“嵩山”超级计算机系统使用CPU(CentralProcessingUnit)+DCU(DeepComputingUnit)异构架构,非常适用于高度密集型计算任务。本文基于海光一号DCU实现了PuReMD软件的单卡和多卡版本,有效提高了程序性能。本文主要工作及成果如下: (1)完成了PuReMD在“嵩山”超级计算机系统上的单DCU移植版本PuReMD-DCU。通过对PuReMD程序代码进行分析并结合gprof(GNUprofiler)性能分析工具的分析结果,将邻居列表的生成、相互作用的计算以及电荷平衡等计算密集且具有良好的并行化空间的热点函数,使用HIP-C(HeterogeneousInterfaceforPortability-C)编程语言改写为设备函数移植到了DCU上,并进一步通过线程块调优、电荷平衡初始值猜测方法对PuReMD-DCU进行优化,使得PuReMD软件能够充分利用DCU加速卡,提高程序性能。 (2)提出了邻居列表的冗余存储和每原子使用多线程处理的方法。针对两个原子之间的邻居信息只存储在其中一个原子的列表内,而导致的查询邻居列表时数据访问时延过高的问题,将信息改为在两个原子的列表中冗余存储,以牺牲额外内存为代价提高了程序性能;针对单线程处理一个原子的邻居列表生成和相互作用计算时存在访存带宽不足的问题,提出多个线程处理单个原子方法,减少对全局内存的访问次数并合并了内存访问,提升了内存带宽利用率。 (3)完成了PuReMD在“嵩山”超级计算机系统上的多DCU移植版本PD-PuReMD。针对更大原子规模的模拟PuReMD-DCU由于单DCU的存储和计算性能限制导致的模拟效率较低的问题,本文根据“嵩山”超级计算机系统1CPU+4DCU的架构特点将计算任务分配到多张DCU卡上,实现了PuReMD的多DCU版本PD-PuReMD。PD-PuReMD通过空间分解技术将模拟域划分为子域分配给各个MPI进程,平均分配了计算任务;根据搭配使用的笛卡尔拓扑结构通信子将每个维度的通信合并,实现了分阶段消息传递;进一步使用页锁定内存对数据传输进行优化、使用非阻塞流对计算流程进行优化并对内存的使用进行优化,减少了通信次数,提高了程序性能。 实验结果表明,PuReMD-DCU相对于串行版本的PuReMD在H2O和AL2O3原子系统上分别取得了45.92和9.74的加速比。多卡版本的PD-PuReMD相对于单卡版本的PuReMD-DCU在H2O和AL2O3原子系统上分别取得了2.3和3.13的加速比。PuReMD-DCU以及PD-PuReMD的实现可以为约瑟夫森结在“嵩山”超级计算机系统上的模拟提供支持,并且能够为分子动力学模拟的其他力场面向“嵩山”超级计算机系统的移植与优化奠定研究基础。

关键词

超级计算机系统/PuReMD软件/HIP编程模型/DCU加速器

引用本文复制引用

授予学位

硕士

学科专业

计算机技术

导师

韩林

学位年度

2024

学位授予单位

郑州大学

语种

中文

中图分类号

TP
段落导航相关论文