NEW
利用NVIDIA的多进程服务增强分子动力学 - Blockchain.News

利用NVIDIA的多进程服务增强分子动力学

realtime news Jun 04, 2025 16:19

NVIDIA的多进程服务优化了分子动力学模拟中的GPU使用,通过在单个GPU上运行并发进程来提高吞吐量。

利用NVIDIA的多进程服务增强分子动力学

分子动力学(MD)模拟对于随时间建模原子相互作用至关重要,这需要大量的计算资源。尽管如此,许多模拟涉及小型系统,通常未充分利用现代GPU。NVIDIA的多进程服务(MPS)通过允许多个模拟在同一GPU上并发运行提供了解决方案,从而最大化GPU利用率并改善吞吐量,NVIDIA表示。

理解MPS

MPS是CUDA API的二进制兼容实现,能够使多个进程有效共享GPU。它通过允许所有进程共享调度资源来减少上下文切换开销并改善整体GPU利用率。自NVIDIA Volta GPU代以来,MPS还支持来自不同进程的并发内核执行,这在单个进程无法完全利用GPU时提升了性能。值得注意的是,MPS可以在常规用户权限下启动,简化了其部署。

在OpenMM中实现MPS

为了在流行的MD引擎OpenMM中利用MPS,用户可以同时运行多个模拟。这通过将模拟脚本的多个实例作为独立进程启动来实现。虽然单个模拟可能会变慢,但由于并行执行,总体吞吐量会增加。一个简单的命令结构允许用户控制GPU目标和进程管理,提高资源分配效率。

基准测试性能

基准测试表明,将MPS应用于不同大小的系统时,吞吐量显著提高。例如,具有23,000个原子的DHFR系统在高端GPU如NVIDIA H100张量核心上受益于显著的性能提升。即使是更大系统,如具有409,000个原子的纤维素基准测试,吞吐量也增加了约20%。

通过CUDA_MPS_ACTIVE_THREAD_PERCENTAGE优化吞吐量

默认情况下,MPS允许所有进程完全访问GPU资源。然而,通过设置CUDA_MPS_ACTIVE_THREAD_PERCENTAGE环境变量,可以通过限制每个进程的线程可用性进一步优化吞吐量。这一调整已被证明在涉及多个并发进程的模拟中显著提升集体吞吐量。

在自由能计算中的应用

MPS在自由能微扰(FEP)模拟中也显示出优势,这类模拟依赖于复本交换分子动力学。通过在不同λ窗口上并发运行多个模拟,MPS缓解了GPU未充分利用,使用三个MPS进程结合NVIDIA的L40S或H100 GPU时,吞吐量增加了36%。

结论

NVIDIA的MPS是一个增强MD模拟吞吐量的宝贵工具,几乎不需要编码工作。通过优化GPU资源利用,MPS在各种模拟场景中显著提升性能。对于有兴趣进一步探索这些功能的人,NVIDIA提供了额外的资源和教程来支持实施和实验。

Image source: Shutterstock