微秒分子动力学的最佳硬件解决方案

计算科学 计算化学 高性能计算
2021-11-26 12:58:35

我们希望在显式水中实现具有大约 20000 个原子的蛋白质的分子动力学模拟,每个原子的轨迹约为 1 微秒。我们正在寻找不同的计算机资源选项来完成这些模拟。

由于我们(在欧洲)无法在 Anton(来自 DEShaw Research)申请超级计算时间,而且我们有一些资金(高达 50 万欧元),我们想知道哪个是最好的集群或 HPC 基础设施来购买此类计算。

4个回答

对于这么小的模拟,我强烈建议研究基于 GPU 的解决方案。这可能是您获得最多 ns/day/Euro 的原因。

在我看来,目前最快的全功能基于 GPU 的分子动力学 (MD) 软件是ACEMD(请参阅此处了解时间)。然而,该软件是商业软件,但有一个可用于评估目的的单 GPU 免费版本。

其他功能齐全但开源的支持 GPU 的 MD 包包括NAMDGROMACS 4.6其他项目包括FenZi,但他们似乎没有提供他们的代码。

在由 23558 个原子组成的联合 Amber-Charmm (JAC) 基准测试中,截止时间相对较短,为 0.9nm,所有这些代码在商品 GPU 上每天将获得少量 ns。仍然需要几天的计算才能获得 1ms,但考虑到它只是一台机器,这还不错。

即使您有很多钱可用于计算资源,但正如 Pedro 所指出的,更大的问题是您的问题相对较小。大约有 100,000 个原子,您在 CPU 上的“最佳位置”可能是大约 100 个内核。如果您尝试使用更多,您最终将花费大量时间在处理器之间进行信息通信,这可能会更加昂贵。您可以尝试购买多线程处理器,但它们可能没有那么大的帮助。

但是,相对而言,您处于 GPU 计算的最佳位置。因此,您最好的选择是使用像HOOMD这样的包,或者利用共享内存机器,使用LAMMPSNAMD等代码中的多线程包选项来避免一些内部消息传递。

对于 O(100k) 原子的全原子、显式溶剂、生物分子系统,您现在应该使用 GPU 加速代码。即使不确切知道您的模拟设置,ACEMD、AMBER、Gromacs、NAMD 很可能都足以满足您的需求。

通常,这些代码不会超出您的模拟规模的单个系统(除非使用 Infiniband 之类的网络)或什至几个 GPU,并且强烈支持 GPU 性能而不是 CPU,因此请专注于具有多个高性能 GPU 和良好性能的机器配置PCIe 连接。规划 1-2 个核心/GPU。对于某些代码,不需要多 CPU 系统,因为计算是在 GPU 上完成的(请注意,GROMACS 将有效地使用 CPU 和 GPU,因此它们的质量应该平衡),也不需要使用高性能互连,例如作为 Infiniband。

所有代码都使用 CUDA,因此 Nvidia GPU 是可行的方法。Geforce 卡完全够用(例如 4GB Geforce GTX680),并且比 Teslas 更经济。

我们销售针对 ACEMD 和其他 MD 代码Acellera Metrocubo优化的工作站。或者,注册NVidia GPU 测试驱动器以与其他合适的硬件经销商取得联系。

关于氢质量再分配的批评,其理论和技术基础首先描述于:

提高富氢系统的大时间尺度分子动力学模拟的效率Feenstra 等人。JCC 1999

doi://10.1002/(SICI)1096-987X(199906)20:8<786::AID-JCC5>3.0.CO;2-B

这是一种广泛使用的方法,不仅在 ACEMD 中实现,而且在 Gromacs 以及最近的 Anton 中实现:

泛素折叠的原子级描述,Piana 等人,PNAS (2013)

doi://10.1073/pnas.1218321110

确定性代码不一定是可逆的,因此它实际上不应该在统计抽样方面增加任何好处,它会产生相同的错误但始终如一。一致性对于调试很有用。所有的代码都是数字积分的,所以它们迟早都会从恒定能量中漂移。即使在 NVT 中采样并且人们使用的所有代码实际上使用混合或固定精度(NAMD、LAMMPS、ACEMD、AMBER、GROMACS、DESMOND、ANTON)进行采样时,保持足够接近能量表面也很重要。

单个 gtx680 将产生大约 160 ns/天。单个 gtx Titan 220 ns/天。因此,使用免费版本的acemd,您可以在 4 天内获得 1 微秒。