6.22 vsREMD

vsREMD的编译完全独立,要重新解压从gmx上下载的安装包,替换replicaexchange.cpp文件,在一个新的文件夹下从头安装,所有的路径都要和原来的cmd版本区分开
85.24 /home/lywu/software/gmx/vsremd-2022.5/replicaexchange.cpp
  • # cmake 在编译普通版的时候装过了
  • # 指定路径即可使用
  • export PATH=/home/dddc/zzy/software/cmake-3.28/prefix/bin:$PATH
  • conda activate openmpi
  • (openmpi) dddc@gpu-4090:~/zzy/software/gmx$ cmake --version
  • cmake version 3.28.5

  • CMake suite maintained and supported by Kitware (kitware.com/cmake)
  • # 注意要在其他路径下解压
  • tar xvf gromacs-2022.5.tar.gz
  • mv gromacs-2022.5 gromacs-2022.5-vsremd
  • cd gromacs-2022.5-vsremd/

  • # 替换 src 下面的 replicaexchange.cpp 文件
  • locate replicaexchange.cpp
  • #### 一定要检查!!!
  • cd /home/dddc/zzy/software/gmx-vsremd/gromacs-2022.5-vsremd/src/gromacs
  • # 备份
  • mv replicaexchange.cpp replicaexchange.cpp.bak
  • scp lywu@172.21.85.24:/home/lywu/software/gmx/vsremd-2022.5/replicaexchange.cpp ./
  • cd gromacs-2022.5-vsremd/
  • mkdir build 
  • cd build

  • ### 编译
  • ## -DGMX_SIMD参数的选择,看Installation guide — GROMACS 2022 documentation
  • ## 用下面的命令可以看本机支持的版本,选择和安装指导中共有的参数即可
  • cat /proc/cpuinfo | grep flags

  • cmake .. -DCMAKE_INSTALL_PREFIX=/home/dddc/zzy/software/gmx-vsremd/gromacs-2022.5-vsremd/install -DGMX_GPU=CUDA -DGMX_BUILD_OWN_FFTW=on -DGMX_MPI=on

  • ## 根据服务器空闲核数设置参数
  • make -j 50 
  • make install -j 20                                                                               

  • # 环境变量设置 
  • # gmx2022 
  • # 命令行输入以下命令
  • export PATH=/home/dddc/zzy/software/gmx-vsremd/gromacs-2022.5-vsremd/install/bin/:$PATH
  • export LD_LIBRARA_PATH=/home/dddc/zzy/software/gmx-vsremd/gromacs-2022.5-vsremd/install/lib:${LD_LIBRARY_PATH}
  • export LD_LIBRARY_PATH=/home/dddc/zzy/software/gcc/prefix/gcc-12.2.0/lib64/:${LD_LIBRARY_PATH}

  • # 测试
  • which gmx_mpi

  • # 若无误,将3行export写入自己的环境变量
  • cp ~/.bashrc ./gmx2022.sh

  • # 需要使用时,source该环境即可

测试

  • scp -r lywu@172.21.85.24:/home/databank/zzy/project/MD/temp-adjust/test/grep_exchange/input ./from24-tune-temp-5replica

  • # 一定要检查线程数!进程数!有时候 -np 后面的 数值和实际调用的核/线程不是一个东西
  • nohup mpirun -np 12 gmx_mpi mdrun -v -deffnm md -multidir md1 md2 md3 md4 md5 md6 -replex 10 &

  • # 检查方法
  • 首先看能否跑通,到log文件里看交换率,如果为0,那就是remd了,如果可以交换,那就是对的