刚刚给组里申请到Amber 20学术License,就顺便把4月份的坑给填上罢😨
开始前先将AmberTools21.tar.bz2
和Amber20.tar.bz2
解压至工作站/服务器目录/opt
0 安装依赖
sudo apt update && apt -y install tcsh make gcc gfortran flex bison patch bc xorg-dev libbz2-dev wget python-is-python3 python3-pip python3-tk
sudo pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
sudo pip3 install numpy matplotlib scipy ipython notebook cython pytest setuptools
1 串行版本
sudo -i
cd /opt
export AMBERHOME=/opt/amber20_src
cd $AMBERHOME/build
vim run_cmake
找到适用Linux的配置段,将-DDOWNLOAD_MINICONDA=TRUE
改为-DDOWNLOAD_MINICONDA=FALSE
,保存;若使用intel编译器,则还需将-DCOMPILER=GNU
改为-DCOMPILER=INTEL
,保存
./run_cmake
make -j install # 对于CPU核心较多的计算机,若内存过小,可能会因内存不够而导致操作系统卡死,可去掉-j以使用单线程编译,若认为单线程编译过慢,可尝试使用-j8、-j16等以指定较少线程
source /opt/amber20/amber.sh
cd $AMBERHOME && make test.serial # 等待数十分钟至test完毕,检查输出的failures和errors
2 OpenMP并行版本
cd /opt/amber20_src/build && vim run_cmake
找到适用Linux的配置段,在-DMPI=FALSE
前添加-DOPENMP=TRUE
,保存
./run_cmake
make -j install
cd $AMBERHOME && make test.openmp
3 MPI并行版本
cd /opt/amber20_src/AmberTools/src
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0.tar.gz
tar -zxvf openmpi-4.1.0.tar.gz
./configure_openmpi gnu # 若使用intel编译器,则将此处gnu改为intel,并确保串行版本也由intel编译器编译安装
cd /opt/amber20_src/build && vim run_cmake
找到适用Linux的配置段,删去-DOPENMP=TRUE
,将-DMPI=FALSE
改为-DMPI=TRUE
,保存
./run_cmake
make -j install
export DO_PARALLEL="mpirun -np 4 --allow-run-as-root"
cd $AMBERHOME && make test.parallel
4 支持CUDA加速的版本(编译前应确保已将合适的CUDA Toolkit载入当前环境,参见GMX安装)
cd /opt/amber20_src/build && vim run_cmake
找到适用Linux的配置段,将-DMPI=TRUE
改为-DMPI=FALSE
,将-DCUDA=FALSE
改为-DCUDA=TRUE
,保存
./run_cmake
make -j install
export CUDA_VISIBLE_DEVICES=0 # 选择要测试的GPU id
cd $AMBERHOME && make test.cuda.serial
cd /opt/amber20_src/build && vim run_cmake
找到适用Linux的配置段,将-DMPI=FALSE
改为-DMPI=TRUE
,保存
./run_cmake
make -j install
export DO_PARALLEL="mpirun -np 2 --allow-run-as-root" # MPI线程数=GPU数
cd $AMBERHOME && make test.cuda.parallel
注意:当机器有大于2块GPU,且通过NVLink连接时,应当启用NCCL。先去NVIDIA网站下载NCCL,根据文档安装好NCCL环境。在编辑run_cmake
的环节添加-DNCCL=TRUE
即可。
5 完成安装
chmod -R 755 /opt/amber20
exit # 退出root用户
vim ~/.bashrc
,在末尾添加以下内容并保存:
source /opt/amber20/amber.sh
这样就大功告成了捏😋玩熟练了,编译阴间Amber也没那么复杂
文章评论