以分子动力学——NAMD为例


  NAMD ,是专为大型生物分子系统高性能模拟而设计的并行分子动力学程序包。它基于 Charm++ 并行对象, 可扩展到数百个核心进行典型模拟,最大能扩展到超过 500,000 个核心进行最大模拟。支持使用分子图形程序 VMD 进行模拟设置和轨迹分析,也与 AMBER、CHARMM 和 X-PLOR 文件兼容。在算家云平台,预置的 NAMD 镜像已使用 CUDA 编译,默认将使用 GPU 加速计算。

1、基础准备

(1)创建实例

- 首先点击“基础镜像”然后选择“NAMD”,其中包含多个版本,此处选择3.0.1版本(支持使用CUDA SOA 提高GPU利用率)。最后选择显卡型号并创建实例。<br>
1772696213735_image.png
1772696268238_image.png<br>

- 实例创建之后在[项目实例]页点击【文件管理】按钮<br>

1772696363653_image.png

&emsp;&emsp;然后将需要处理的文件上传到文件管理(如果文件较大建议使用Xshell等工具):<br>
1772696535341_image.png

<span style="color: red;"> 还需要注意需要处理的数据的存储路径,推荐放置在 /(根)目录下。 </span>

(2)添加参数

&emsp;&emsp;需要注意的是目前NAMD3支持使用 cudasoaintegrate 参数,启用该参数能极大提高GPU的计算效率。因此在进行模拟计算前,需要在配置文件中添加这个参数启用命令。在配置文件的开头加上:cudasoaintegrate on即可。

image.png

2、运行NAMD3

&emsp;&emsp;点击“WebShell”打开终端:

1772696696742_image.png

&emsp;&emsp;进入 NAMD3.0.1目录:

``
cd NAMD3.0.1
`

&emsp;&emsp;输入以下命令使用NAMD软件进行计算:

`
./charmrun ++local +p16 ./namd3 test/namd3.conf > /test/ubq_ws_eq.log
`

&emsp;&emsp;参数可调整:

* ./charmrun 启动 Charm++ 程序,负责管理并行进程。
*
++local 参数指示 Charmrun 在本地模式下运行,不使用远程计算机或集群。所有进程都在本地计算机上启动,适用于小规模的计算或调试。
*
+p16 这个参数指定并行计算时使用CPU 核心数量,即 16 个处理器核心。在多核 CPU 上,这种设置可以加速模拟过程,但需要根据实际情况进行设定。如平台上的4090显卡拥有16个核心,因此最高可设置为16。
*
test/namd3.conf 这是你自己的配置文件,如果你的目录放置在 /(根)目录下,那填写路径时(包括配置文件中)也需要在前面加上 /,如下:

image.png
*
> /test/ubq_ws_eq.log` 输出日志文件的路径,所有标准输出(stdout)会被写入到这个文件中,删除后输出将显示到终端上。

&emsp;&emsp;在显卡4090D上运行监控如下:

image.png

image.png

3、附安装包

&emsp;&emsp;由官方提示3.0.1版本修复了3.x版本的一些功能错误,因此强烈推荐下载3.0.1版本。下面是2.14和3.01版本的GPU安装包,下载之前需要注册账号。

&emsp;&emsp;版本 3.0.1 (2024-10-14):

* Linux-x86_64-multicore-CUDA (NVIDIA CUDA 加速)
* Linux-x86_64-netlrts-smp-CUDA (多副本算法,每个副本单个进程)
* Linux-x86_64-verbs-smp-CUDA (InfiniBand,无需 MPI,支持多拷贝算法)

如有特殊需求可下载源码,自行编译安装:
* Source Code 源代码

&emsp;&emsp;版本 2.14 (2020-08-05):

* Linux-x86_64-multicore-CUDA (NVIDIA CUDA 加速)
* Linux-x86_64-netlrts-smp-CUDA (多副本算法,每个副本单个进程)
* Linux-x86_64-verbs-smp-CUDA (InfiniBand,无需 MPI,支持多拷贝算法)
* Linux-x86_64-verbs-smp-CUDA (InfiniBand,无需 MPI,支持多拷贝算法)
* Win64-MPI-smp-CUDA (带 CUDA 的 HPC 服务器)
* Win64-CUDA (NVIDIA CUDA 加速)
* MacOSX-x86_64-CUDA (NVIDIA CUDA 加速)
* Source Code 源代码