8.19 85.11 vsREMD
- 22207服务器GMX2022-vsREMD已安装完成:
- 环境变量:~/.gmx2022-vsREMD.sh
- 测试路径:/home/g16/zzy/software/test/gmx2022/0819-install/from24-tune-temp-5replica
- 测试命令:mpirun -np 54 gmx_mpi mdrun -v -deffnm md -multidir md1 md2 md3 md4 md5 md6 -replex 10
- 测试体系速度:下图1
- 测试体系交换率:下图2
- 注:该服务器实际物理核数为56(如图3所示)
vsREMD的编译完全独立,要重新解压从gmx上下载的安装包,替换replicaexchange.cpp文件,在一个新的文件夹下从头安装,所有的路径都要和原来的cmd版本区分开
85.24 /home/lywu/software/gmx/vsremd-2022.5/replicaexchange.cpp
安装GCC
- # GCC版本不能过低(需要7以上,不然camke报错)
- conda create -n gcc_8_5 -c conda-forge gxx_linux-64=8.5.0 gcc_linux-64=8.5.0 sysroot_linux-64=2.17 python=3.8 openmpi
- conda activate gcc_8_5
- which gcc
- # 会发现gcc版本没变
- # /home/g16/anaconda3/envs/gcc_8_5/bin/ 下找不到gcc ,需要创建软链接
- # 85.11
- ln -s /home/g16/anaconda3/envs/gcc_8_5/libexec/gcc/x86_64-conda-linux-gnu/8.5.0/gcc /home/g16/anaconda3/envs/gcc_8_5/bin/gcc
- # conda deactivate
- conda activate gcc_8_5
- gcc -v
- which gcc
- # gcc 版本已更新为8.5.0
安装cmake
- # GMX 编译
- linux下cmake安装配置_linux cmake配置全局-CSDN博客
- cd /home/g16/zzy/software/cmake
- wget https://github.com/Kitware/CMake/releases/download/v3.28.5/cmake-3.28.5.tar.gz
- tar xzvf cmake-3.28.5.tar.gz
- cd cmake-3.28.5/
- # echo "-DCMAKE_USE_OPENSSL=OFF" >> configure
- ./bootstrap --prefix=/home/g16/zzy/software/cmake-3.28/prefix
- # 编译
- make -j 50
- # 安装
- make install
- # 添加环境变量
- export PATH=/home/g16/zzy/software/cmake-3.28/cmake-3.28.5/bin:$PATH
- # 安装的时候时候需要高版本camke,export一下就可以,这台服务器比较老,不轻易动env
- # echo "export PATH=/home/g16/zzy/software/cmake-3.28/cmake-3.28.5/bin:$PATH" >> ~/.bashrc
- # source ~/.bashrc
- # 查看版本(检验)
- cmake --version
- cmake version 3.28.5
- CMake suite maintained and supported by Kitware (kitware.com/cmake).
检查openmmpi
- # 该服务器上openmpi已有
- ###################################################################################
- (base) [g16@localhost build]$ mpirun --version
- mpirun (Open MPI) 1.8.8
- Report bugs to http://www.open-mpi.org/community/help
- ###################################################################################
安装gmx
- # /home/g16/zzy/software/
- scp lywu@172.21.85.24:/home/lywu/software/gmx/vsremd-2022.5/gromacs-2022.5.tar.gz ./
- 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/g16/zzy/software/gromacs-2022.5-vsremd/src/gromacs/mdrun
- # 备份
- 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
- # 这台服务器没有 GPU,-DGMX_GPU=off
- # -DGMX_SIMD=SSE2 这个参数不指定的时候,也会报错
- cmake .. -DCMAKE_INSTALL_PREFIX=/home/g16/zzy/software/gromacs-2022.5-vsremd/install -DGMX_SIMD=SSE2 -DGMX_GPU=off -DGMX_BUILD_OWN_FFTW=on -DGMX_MPI=on
- # 有GPU的话,-DGMX_GPU=CUDA
- # -DGMX_SIMD=SSE2 :指定SIMD(指令集扩展),可以cat /proc/cpuinfo | grep flags,看自己的机器支持什么,较新的处理器可能支持更高级的 SIMD 指令集(如 AVX、AVX2、AVX-512 等),而较老的处理器可能只支持 SSE2。
- # -DGMX_BUILD_OWN_FFTW=on:在编译过程中自动下载、编译和使用其自带的 FFTW 库,而不是依赖系统中已经安装的 FFTW 库。
- # -DGMX_MPI=on :支持MPI并行
- ## 根据服务器空闲核数设置参数
- make -j 50
- make install -j 50
- # 环境变量设置
- # gmx2022
- # 命令行输入以下命令
- export PATH=/home/g16/zzy/software/gromacs-2022.5-vsremd/install/bin/:$PATH
- export LD_LIBRARA_PATH=/home/g16/zzy/software/gromacs-2022.5-vsremd/install/lib64:${LD_LIBRARY_PATH}
- export LD_LIBRARY_PATH=/home/g16/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 60 gmx_mpi mdrun -v -deffnm md -multidir md1 md2 md3 md4 md5 md6 -replex 10 &
- # 检查方法
- 首先看能否跑通,到log文件里看交换率,如果为0,那就是remd了,如果可以交换,那就是对的
debug
- # 本次安装流程上没遇到什么问题,在configure的时候,提示GCC,Cmake版本过低,故分别安装
- # cmake的那一步,编译器参数不设置的话,报错,怀疑是由于服务器版本较老的原因
- # 编译完成后,测试中发现MD只能用一个进程跑,报错信息如下
- Inconsistency in user input:
- The number of ranks (1) is not a multiple of the number of simulations (6)
- # 从结果论的角度,是因为环境变量没指定
- # 在创建 conda环境(gcc_8_5)的时候,已经安装了openmpi,在写环境变量的时候,需要指定这个openmpi的环境
- # 故,本次安装配套的环境变量如下: