|
|
认真看你引用的卢老师那篇博文的“注4”段落。
注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版完全是自取其辱。 |
|