注4:编译GROMACS的MPI版本
GROMACS跨节点并行计算需要MPI库,支持OpenMPI>=1.6、MPICH>=1.4.1。在编译这种GROMACS之前首先要安装MPI库,这里用OpenMPI。去http://www.open-mpi.org下载OpenMPI最新版本,解压并进入此目录后运行以下命令,就会编译并安装OpenMPI到/sob/openmpi目录:
./configure --prefix=/sob/openmpi
make all install -j
之后在用户目录下的.bashrc末尾加入以下两行
export PATH=$PATH:/sob/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/sob/openmpi/lib
然后重新进入终端使以上语句生效。之后编译GROMACS的方法同前,但在cmake3那一步额外加上-DGMX_MPI=ON选项。编译出来的可执行文件是gmx_mpi,比单机版本的可执行文件多了_mpi后缀。运行时候使用比如这样的命令:mpirun -np 16 gmx_mpi mdrun。
注:对于root用户,OpenMPI要求每次执行mpirun命令都得带着-allow-run-as-root选项才行,这很烦人,但可以通过在编译OpenMPI之前修改OpenMPI的源代码来避免,见《root用户在用openmpi并行计算时避免加--allow-run-as-root的方法》(http://sobereva.com/409)。
顺带一提,笔者在答疑时经常看到有人明明用的是单机并行,却非要装个MPI版GROMACS,这需要批评。因为这不仅需要多做一步,而且比起用默认方式基于thread-MPI和OpenMP的并行方式效率还更低,因此单机并行装MPI版完全是自取其辱。
snljty2 发表于 2023-10-28 23:28
认真看你引用的卢老师那篇博文的“注4”段落。

snljty2 发表于 2023-10-28 23:28
认真看你引用的卢老师那篇博文的“注4”段落。
lyj714 发表于 2023-10-29 13:58
既然都开了mpi选项,所有的gmx命令都必须用gmx_mpi方式调用。所以没问题,gmx_mpi --version
,非常感谢,确实是这个原因,要用gmx_mpi。
snljty2 发表于 2023-10-28 23:28
认真看你引用的卢老师那篇博文的“注4”段落。
| 欢迎光临 计算化学公社 (http://bbs.keinsci.com/) | Powered by Discuz! X3.3 |