Alvin Lang
6月4日,2025年15:44
NVIDIA的多进程服务优化了分子动力学模拟中的GPU用法,从而通过在单个GPU上运行并发过程来增强吞吐量。
分子动力学(MD)模拟,对于随着时间的推移建模原子相互作用所必需的,需要大量的计算资源。尽管如此,许多模拟涉及小型系统大小,通常不足以现代GPU。 NVIDIA称,NVIDIA的多进程服务(MPS)通过允许多个模拟在同一GPU上同时运行,从而最大程度地提高GPU利用率并改善吞吐量,从而提供了解决方案。
了解国会议员
国会议员是CUDA API的二进制兼容实现,可促进通过多个过程进行有效的GPU共享。它通过允许所有流程共享计划资源来减少上下文开关开销,并改善了整体GPU利用率。由于NVIDIA VOLTA GPU生成,MPS还支持来自不同过程的并发内核执行,从而在单个过程无法完全饱和GPU时提高性能。值得注意的是,MP可以使用常规用户特权启动,从而简化其部署。
用OpenMM实施MPS
为了利用流行的MD引擎的OpenMM中的MPS,用户可以同时运行多个模拟。这是通过启动模拟脚本作为单独过程的几个实例来完成的。尽管单个模拟可能会放慢速度,但由于并行执行,总体吞吐量会增加。简单的命令结构使用户可以控制GPU定位和过程管理,从而提高资源分配效率。
基准性能
基准测试显示,将MPS应用于不同大小的系统时,会显示出明显的吞吐量改进。例如,具有23,000个原子的DHFR系统受益于大量性能的提升,尤其是在Nvidia H100张量芯等高端GPU上。甚至更大的系统,例如具有409,000个原子的纤维素基准,吞吐量增加了约20%。
用cuda_mps_active_thread_percentage优化吞吐量
默认情况下,MPS允许全GPU资源访问所有进程。但是,设置 CUDA_MPS_ACTIVE_THREAD_PERCENTAGE
环境变量可以通过限制每个过程的线程可用性来进一步优化吞吐量。这种调整已显示出可显着提高集体吞吐量,尤其是在涉及多个并发过程的模拟中。
在自由能计算中应用
国会议员在自由能扰动(FEP)模拟中也有优势,该模拟依赖于复制 – 交换分子动力学。通过同时在不同的λ窗口上运行多个模拟,MPS减轻了GPU的未利用,从而在NVIDIA的L40S或H100 GPU上使用三个MPS过程时,导致36%的吞吐量增加。
结论
NVIDIA的MPS是通过最少的编码工作来增强MD模拟吞吐量的宝贵工具。通过优化GPU资源利用,MPS可以显着提高各种模拟方案的性能。对于有兴趣进一步探索这些功能的人,NVIDIA提供了其他资源和教程来支持实施和实验。
图像来源:Shutterstock
(tagstotranslate)AI(T)加密(T)区块链(T)新闻
关键词: