2.1. 基本安装指南
本章概述了如何安装和测试您的发行版。 请注意,安装步骤与Amber早期版本不同,它依赖CMake而非make。 下载发行版文件后,请执行以下操作:
cd /home/xxxx
tar xvfj AmberTools23.tar.bz2 # 解压到 "amber22_src "目录
tar xvfj Amber22.tar.bz2 # 前提是您已获得 Amber 22 的许可证!
接下来,您可能需要安装一些编译器和其他库。具体细节取决于您的操作系统和已安装的内容。软件包管理器可以大大简化这项工作。有关 Windows、macOS 和多种 Linux 版本的需求列表,请访问 ambermd.org/Installation.php。特别需要注意的是,您的 PATH 中必须有CMake。一个限制条件是不能使用从 conda 发行版中获取的 CMake;您需要使用软件包管理器,或从 https://cmake.org/ 下载。如果您已有 miniconda 发行版,请在构建 Amber 时将其从 PATH 中移除。
使用CMake构建:Amber开发团队最近将我们的构建系统迁移到了CMake,杰米-史密斯(Jamie Smith)是这一转换的带头人。
迁移的基本原理以及使用CMake构建 Amber 的说明,请访问
对于大多数用户来说,在示例脚本(如下)中选择的选项应该没问题。请注意,使用 CMake 时,"源 "目录(提取文件的目录)必须与安装目录不同。因此,请确保run_cmake脚本中的 -DCMAKE_INSTALL_PREFIX 不是设置为 amber22_src。
cd amber22_src/build
# optional: edit the run_cmake script to make any needed changes;
# most users should not need to do this .
./run_cmake
接下来,构建并安装代码:
make install
source /home/xxxx/amber22/amber.sh # for bash, zsh, ksh, etc .
请注意,资源文件必须是源文件,而不是执行文件。将这些命令添加到您的登录资源文件(例如 /.bashrc、/.zshrc 等)中,将在每次启动新 shell 时设置您的环境。特别是,它会设置 AMBERHOME 环境变量,这在许多涉及 Amber 的工作流程中都需要。[还有一个类似的脚本,amber.csh,适用于交互式使用 C 类型 shell 的用户。]
cd $AMBERHOME # (this was set in step 4, above)
make test.serial
将运行测试并报告成功或失败。
如果发现 "possible FAILURE"的信息,请转到 $AMBERHOME/AmberTools/test 或 $AMBERHOME/test 的子目录,查看 "*.dif "文件。不同之处应该是打印的最后一个数字四舍五入,或者偶尔出现的信息因机器而异(详见下文)。与编译一样,如果您在个别测试中遇到问题,不妨注释掉 Makefile 中的某些行 (例如 $AMBERHOME/AmberTools/test/Makefile 或 $AMBERHOME/test/Makefile),和/或直接进入测试子目录详细检查输入和输出。为方便起见,所有的失败信息和差异都收集在 $AMBERHOME/logs 目录中;您可以从这些信息中快速发现除舍入错误之外的其他问题。
分子动力学的性质决定了计算过程在很大程度上取决于算术运算的顺序和机器运算的实现,即四舍五入的方法。由于计算的每一步都取决于前一步的结果,因此最微小的差异最终都会导致轨迹的偏离。 当最初相同的动力学运行在两台不同的机器上进行时,轨迹最终会变得完全不相关。 它们都不是 “错误的”;它们只是在探索相空间的不同区域。 因此,长时间模拟结束时的状态对于验证正确性并无太大帮助。 只要考虑到正常的统计波动,平均值还是有意义的。 这里的 "不同机器 "是指浮点硬件、字的大小或舍入模式的任何差异,以及编译器或程序库的任何差异。算术运算顺序的不同会影响舍入行为;(a + b) + c 不一定等同于 a + (b + c)。不同的优化级别会影响运算顺序,从而可能影响计算过程。
所有以整数形式报告的初始值应完全相同。 第一个周期的能量和温度应完全相同。 sander 中报告的均方根梯度和最大梯度通常比能量对精度更敏感,在某些机器上,最后一个数字可能相差 1。 在最小化和动力学计算中,100-200 个循环后出现微小的行为差异并不罕见。
cd $AMBERHOME/AmberTools/src
./configure_mpich
这将根据 Amber 的需要构建 mpich MPI 栈,并将其安装到 $AMBERHOME 中。如果你愿意,可以用 configure_openmpi 替换 configure_mpich。 (对于 macOS,请使用 clang 作为编译器,除非使用自己安装的 GNU 编译器)。
b) 然后执行以下操作:
cd /home/xxxx/amber22_src/build
# edit the run_cmake script to set -DMPI=TRUE
./run_cmake
make install
# To run tests: Note the value below may depend on your MPI implementation export DO_PARALLEL="mpirun -np 2"
cd $AMBERHOME
source amber.sh
make test.parallel
# Note, some tests, like the replica exchange tests, require more # than 2 threads, so we suggest that you test with either 4 or 8 # threads as well
export DO_PARALLEL="mpirun -np 4"
make test.parallel