【工作日志节选】AmberTools25的编译安装
使用计算机平台为Intel 12900KF处理器,Ubuntu22.04系统。
借助同事提供的ambertools25安装包,成功完成ambertools25的编译安装。注意到ambertools25已经不像此前的ambertools19那样对于编译器有较高要求,因此也就变得无需再依赖icc/icx编译器了。而此前我使用AmberTools19时,则需依赖Intel 2021年版OneAPI提供的icc编译器及配套运行库才能正常发挥作用。
准备包依赖
使用ambertools25同样需要解决一系列包依赖,至少应包括:
$ sudo apt install -y tcsh make gcc g++ gfortran cmake flex bison patch bc wget xorg-dev libz-dev libbz2-dev
其中gcc安装完成后,版本为:
$ gcc -v
Using built-in specs.
……
gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
此外,由于Ubuntu除apt外,还可通过snap而提供更多更新的软件自动安装,其中CMake甚至提供4.0.3这样新锐版本,但似乎不能适配AmberTools25的安装,应予删除后重新使用旧版CMake安装:
$ cmake --version
cmake version 3.22.1
编译配置
包依赖准备就绪,解压ambertools25.tar.bz2压缩包。解压完成后获得ambertools25_src文件目录。
编译的配置文件位于其中build文件目录下,名为run_camke。其中针对Linux的配置文件部分原文为:
# Assume this is Linux:
cmake $AMBER_PREFIX/ambertools25_src \
-DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/ambertools25 \
-DCOMPILER=GNU \
-DMPI=FALSE -DCUDA=FALSE -DINSTALL_TESTS=TRUE \
-DDOWNLOAD_MINICONDA=TRUE \
2>&1 | tee cmake.log
其中$AMBER_PREFIX变量对应的文件目录,如不进行手动设置,则默认为当前用户的主工作目录(~)。上述配置文件段落可根据需求调整为如下内容。注意其中cmake后的“..”字段意为ambertools25_src文件目录的相对路径;“-DCMAKE_INSTALL_PREFIX=~/ambertools25”字段意为将最终编译生成的文件安装至~/ambertools25文件目录下,可根据需求调整。
# Assume this is Linux:
cmake .. \
-DCMAKE_INSTALL_PREFIX=~/ambertools25 \
-DCOMPILER=GNU \
-DMPI=TRUE \
-DCUDA=FALSE \
-DINSTALL_TESTS=TRUE \
-DDOWNLOAD_MINICONDA=FALSE \
-DBUILD_PYTHON=FALSE \
-DBUILD_PERL=FALSE \
-DBUILD_GUI=FALSE \
-DPMEMD_ONLY=FALSE \
-DCHECK_UPDATES=FALSE \
2>&1 | tee cmake.log
随后运行修改后的run_camke文件,如果出现下列内容:
-- Configuring done
-- Generating done
则意味着配置成功,可进行后续的正式编译。随后进行make -j20进行20线程并行编译即可。注意,此处如果使用make -j命令进行无限制并行编译则极易报错;而使用make进行单线程编译则耗时过长。最后根据需求使用make install(像上述配置文件一样装入当前用户工作目录~)或sudo make install(装入系统文件目录如/opt或/usr/local)进行最终的安装。
完成上述编译后,ambertools25/bin目录下应具有88个二进制可执行文件以及一个文件目录。
完成安装后,执行如下命令即可正式启用ambertools25。
$ echo 'source ~/ambertools25/amber.sh' >> ~/.bashrc
$ source .bashrc