Page 88 - 《软件学报》2021年第8期
P. 88
2370 Journal of Software 软件学报 Vol.32, No.8, August 2021
1.4 分子动力学模拟
分子动力学模拟(molecular dynamics,简称 MD)是在原子水平上利用经典牛顿力学方程研究分子状态的计
算机模拟方法 [25] .随着计算机计算能力的提高,可实现全原子模型的动力学模拟,在原子结构层次揭示某些现象
随时间的发展过程,已广泛应用于计算化学、生物化学、纳米材料和药物分子设计等领域.
分子动力学模拟的计算核心在于力场的计算,具体可细分为长程作用力计算、短程力计算与近邻列表的计
算、成键作用力计算等多种形式;除了核心的力场计算,还存在着一些物理系统约束需要实现,比如分子结构约
束方法 SHAKE 和 LINCS、周期性边界条件和统计系综理论约束等.加速分子动力学模拟,在方法上可采用增强
抽样算法,在实现上则可借助大规模并行计算.在并行计算时任务划分常采用体系空间分解法,可采用 MPI+X
的多级并行计算设计,其中 X 可为多核 CPU 计算或 GPU 异构计算等形式.比如美国能源部主导开发的 MD 软
件 LAMMPS(large-scale atomic/molecular massively parallel simulator),可利用多核 CPU、GPU 和 Intel Xeon Phi
等多种方式加速其计算性能.该软件提供了 GPU package 和 KOKKOS package 可利用 GPU 部件加速计算,使用
MPI 计算任务下的 GPU 任务 offload 工作方式 [26] .这种方式将计算密集性任务交给 GPU 来计算完成,并获得返
回结果,充分利用了异构计算环境来提高并行效率.结合区域空间分解和 MPI 并行技术,可进行数万核以上的超
大规模并行计算.GPU 作为异构计算设备用来加速分子动力学模拟的一种实现流程如图 5 所示,不同软件在实
现上可能存在差异,但基本用于加速分子作用力计算以及相关的近邻列表构建等计算密集型任务.
Fig.5 A flowchart for an implementation of GPU accelerated molecular dynamics simulation [27]
图 5 一种实现 GPU 加速分子动力学模拟的流程图 [27]
1.5 量子化学
量子化学源自理论化学,应用量子力学的基本原理和方法来研究化学问题.经过多年的发展,已经有多种量
子化学计算软件被开发出来.科学家们用这些工具计算和求解分子结构问题,不断地扩大其可解问题的深度和
广度.
自洽场(self-consistent field,简称 SCF)迭代计算是量子化学计算软件的核心方法.它主要包括计算双电子