GPUMD 开发者第一次会议圆满召开

文摘   2024-12-01 17:29   芬兰  

GPUMD 开发者第一次会议圆满召开:聚焦未来发展与创新

2024年11月30日,GPUMD 成功举办了首次线上开发者会议。此次会议汇集了来自全国各地的研究者和开发者,共同探讨了 GPUMD 的现状、未来规划以及新功能的开发方向。会议由 GPUMD 的维护者樊哲勇博士主持,众多开发者积极参与,会议取得了圆满成功。

一、GPUMD 现状与发展

自 2017 年 8 月发布 1.0 版本以来,GPUMD 经过快速发展,现已成为分子动力学模拟领域的重要工具。截至今年 8 月,最新发布的 3.9.5 版本代码行数已从最初的约 1 万行增长到 6 万多行。GPUMD 的代码托管在 GitHub 上,所有开发者均以自愿方式参与贡献,可随时加入或退出。

在过去的几年中,GPUMD 不断优化和扩展,具有运行速度快、功能丰富的特点,并致力于降低外部依赖,为用户提供简洁高效的模拟体验。

二、开发者手册与开发环境

为帮助新、老开发者更好地参与 GPUMD 的开发,团队编写了详细的开发者手册,涵盖了代码管理、提交 Pull Request、开发环境搭建等内容。开发者可在 Windows 和 Linux 环境下进行开发,需熟悉 C++ 和 CUDA 等编程语言。

GPUMD 的开发强调代码管理和审核,所有代码更改均需通过 GitHub 的 Pull Request 提交,并由其他开发者审核。此举既保证了代码质量,也促进了开发者之间的交流和学习。

三、模块化的代码架构

GPUMD 的代码采用了高度模块化的设计,主要分为以下几个部分:

  • 势函数模块:负责计算体系的能量和力,包括各种势函数的实现,如NEP、 SW、EAM、LJ 等。
  • 积分模块:实现了不同的积分方法和动力学模拟,如 NVE、NVT、NPT 等。
  • 测量模块:用于计算体系的各种物理性质,如温度、压力、径向分布函数等。
  • 最小化模块:用于能量最小化和结构优化,支持多种算法。
  • 蒙特卡罗模块:实现了蒙特卡罗模拟方法,增强了对统计性质的研究能力。

这种模块化的设计使得 GPUMD 的功能扩展和维护更加便捷,同时也便于新开发者快速上手。

图片来源:https://github.com/brucefan1983/GPUMD/blob/master/developers

四、未来发展规划

1. 版本更新计划

会议中,三十余名开发者共同商讨了 GPUMD 的未来版本发布计划:

  • 2025 年春季:发布 4.0 版本,代码行数预计超过 7 万行。
  • 2026 年夏季:发布 5.0 版本,代码行数预计超过 9 万行。
  • 2027 年秋季:发布 6.0 版本,代码行数预计超过 10 万行。

2. 新功能开发方向


(1)NEP模型开发计划
  • NEP 误差估计方法(双精度):开发 NEP 势函数的误差估计方法,采用双精度计算,提高 NEP 的可靠性和精度。
  • NEP + 消息传递(实现高精度):结合消息传递机制,进一步提升 NEP 势函数的计算精度。
  • NEP + 电荷:在 NEP 势模型中引入电荷,支持带电体系和电化学过程的模拟。
  • TNEP :开发张量 NEP 模型,扩展 NEP 可预测的物理量类型。
  • NEP + 自旋:在 NEP 势模型中加入自旋自由度,支持磁性材料和自旋相关过程的模拟。
  • NEP 训练加速(梯度下降):采用梯度下降等优化算法,加速 NEP 势函数的训练过程,提高训练效率。
  • NEP 大模型开发(20 元、45 元、89 元):开发 NEP 机器学习势大模型,支持包含 20 种、45 种、89 种元素的复杂体系的高精度模拟。
  • TB 参数机器学习拟合:利用机器学习方法拟合紧束缚模型(TB),实现电子结构和输运性质的计算。

(2)力场
  • Deep Potential (DP) 接口:计划在 4.0 版本中接入 DP 势函数,使得 DP 用户可以直接使用 GPUMD 进行模拟。
  • 机器学习势函数的拓展:除了 DP,还将考虑接入其他机器学习势函数,促进不同方法的对比和研究。
  • 经验势的改进:继续优化现有的势函数,如 ILP、SW、多体 EAM 、有机物力场OPLS、库仑力计算,支持恒电势模拟等,提升模拟精度和效率。
  • 电荷与电场作用:引入电荷相互作用的计算,支持库仑力和外加电场的模拟,拓展对生物分子和离子体系的研究。

(3)时间演化与采样方法

  • 能量最小化与变盒子优化:引入能量最小化过程中盒子尺寸的优化功能,支持结构的应力释放和相变研究。
  • 增强采样方法:计划开发内置的增强采样算法,提高对复杂能量面和稀有事件的采样效率,包括超动力学等时间加速分子动力学方法。
  • 蒙特卡罗模拟的扩展:完善蒙特卡罗方法,支持更多统计系综。

(4)物理性质计算

  • 结构分析功能:增加角度分布函数(ADF)、配位数分析(CN)、键取向参数(Q4、Q6)等。
  • 力学模拟:完善材料力学的相关计算功能,实现对摩擦力学、拉伸力学、流变等多种力学场景的应用,满足不同力学研究的需求。
  • 材料生长模拟:基于原子沉积方法,模拟材料的生长过程,助力新材料的设计与开发。
  • 流体热输运:采用非平衡态热输运方法,计算流体材料的热导率,拓展对流体体系热传导性质的研究。
  • 电子输运计算:结合线性标度量子输运(LSQT)和一般紧束缚模型(TB),实现对材料电子输运性质的模拟与分析。
  • 弹性常数与声子计算:支持有限温度下的弹性常数计算,以及零温和有限温度下的声子计算(双精度),提高对材料力学性能和振动性质的研究精度。

(5)程序优化与并行计算

  • 代码重构与性能优化:持续优化代码结构,提高计算效率。
  • MPI 并行支持:计划在未来版本中引入 MPI 并行计算,实现跨节点的并行加速,支持更大规模的模拟。
  • 多硬件兼容:完善对 AMD GPU、国产 GPU 的支持,扩大 GPUMD 的适用范围。
  • 考虑支持纯 CPU 计算:完善用户群体的支持范围。

(6)工具与生态系统

  • 丰富示例与教程:加强对用户手册、示例文件的维护,提供更多实用案例,帮助用户快速上手。

  • 与平台合作:与深势科技的“Bohrium平台”合作,发布教程和应用案例,进一步方便新手入门。

  • 社区建设:鼓励开发者和用户积极参与社区讨论,共同完善 GPUMD。

五、邀请更多开发者参与

GPUMD 的发展离不开广大开发者的支持和贡献。我们将保持开放的开发模式:无论您是学生还是教师,或是其它科研工作者,只要对 GPUMD 的开发感兴趣,都欢迎随时加入开发者团队。大家的开发活动是自发的,不带强制性义务的,开发者可随时退出开发活动。作为回报,对于有实质性贡献的开发者,将有机会在未来 GPUMD 大的版本发布论文中署名。

六、结语

此次 GPUMD 开发者第一次会议的成功召开,标志着 GPUMD 正式迈入了一个新的发展阶段。通过集思广益、协同合作,GPUMD 将不断完善功能,提高性能,满足科研工作者对高效分子动力学模拟的需求。

期待更多的开发者和用户加入到 GPUMD 的大家庭中来,共同推动分子动力学模拟领域的发展,为科学研究贡献力量。

关于 GPUMD

GPUMD(Graphics Processing Units Molecular Dynamics)是一款基于 GPU 加速的、国产的分子动力学模拟软件,由樊哲勇博士主导开发。GPUMD 以高效、灵活、易用为目标,广泛应用于材料科学、物理学、化学等领域的研究。

樊哲勇,公众号:GPUMD与NEPGPUMD 简介

联系我们

GitHub 仓库:https://github.com/brucefan1983/GPUMD

用户手册:https://gpumd.org/

开发者手册:https://github.com/brucefan1983/GPUMD/blob/master/developers/readme.md

QQ群:887975816 (1群已满), 778083814 (2群)

微信公众号:


欢迎关注 GPUMD,期待您的参与!

GPUMD与NEP
演化策略的神经网络机器学习势NEP与GPU分子动力学GPUMD模拟