说明:
- NAMD是设计用于大型生物分子系统的高性能模拟软件,文章的安装方法是源码编译,主要是为了在大规模
HPC
集群上能够实现跨节点使用,以大幅提升计算效率。 - NAMD官方提供了各种预编译的二进制版本,如果你的系统不涉及跨节点的多核并行,那可以直接下载相应二进制版本使用,该文章对你的帮助或许不大。
namd-3.0
已经支持arm
架构编译,而namd-2.14
在arm
架构下需要自己修改文件,如果需要编译namd-2.14
,请参考另一篇博客。
下面开始编译正文:
1. 编译环境
module purge
module load GCC/11.1.0
module load mpich/4.1.2-ch4-gcc11.1.0
module load fftw/3.3.7-gcc11.1.0-sve
2. 源码包下载
下载地址:https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD
wget https://www.ks.uiuc.edu/Research/namd/3.0b6/download/120834/NAMD_3.0b6_Source.tar.gz
tar xzf NAMD_3.0b6_Source.tar.gz
cd NAMD_3.0b6_Source
3. charm-7.0.0安装
tar xf charm-7.0.0.tar
cd charm-v7.0.0
./build charm++ mpi-linux-arm8 --with-production --with-numa -j16
# 测试
cd mpi-linux-arm8/tests/charm++/megatest/
make all -j16
## 这里使用slurm系统运行作业,如果你的系统没有,可用mpirun -np <n-proc> ./megatest
srun -p <partition> -n 16 ./megatest
cd ../../../../..
4. 配置fftw和tcl
在下载地址下载架构对应版本的fftw
和tcl
,arm64
架构可点击下面链接直接下载。
# fftw和tcl-pthreads源码包下载到NAMD_2.14_Source目录解压
tar xzf tcl8.5.9-linux-arm64-threaded.tar.gz
mv tcl8.5.9-linux-arm64-threaded tcl
# 修改ARCH变量
sed -i "s/multicore-arm8-gcc/mpi-linux-arm8/" arch/Linux-ARM64-g++.arch
(可选)fftw
路径指定(tcl
同)
-
若使用下载的
fftw
,解压后重命名为fftw
:tar xzf fftw-linux-arm64.tar.gz mv fftw-linux-arm64 fftw
-
若使用已经安装好的
fftw
,在config
时用--fftw-prefix
指定路径:--fftw-prefix /path/to/fftw/
5. 编译NAMD
./config Linux-ARM64-g++ --charm-arch mpi-linux-arm8 --with-fftw3 --fftw-prefix /path/to/fftw/ --with-tcl
time make -j16 -C Linux-ARM64-g++ >& log
可查看Linux-ARM64-g++
目录下是否出现namd3
的可执行文件,如果有说明编译通过。
6. 测试
NAMD
官网提供了不同规模的测试算例,可自行下载解压,在算例目录使用以下脚本sbatch
提交任务。
#!/bin/bash
#SBATCH -p <partition>
#SBATCH -N 1
#SBATCH -n 56
module purge
module load GCC/11.1.0
module load mpich/4.1.2-ch4-gcc11.1.0
module load fftw/3.3.7-gcc11.1.0-sve
export PATH=$HOME/software/NAMD_3.0b6_Source/Linux-ARM64-g++:$PATH
srun namd3