欢迎光临散文网 会员登陆 & 注册

Amber22安(cai)装(keng)过程分享

2023-04-21 20:27 作者:东山月光下  | 我要投稿

最近Amber22可以免费用于学术目的了,赶紧安装一下。安装本身不难,难在依赖的环境、包该如何配置。

Amber22的文档有很详细的installation guide,非常建议通读那部分,如果很不幸你遇到奇怪的报错,可以参考以下流程。

环境:

  • CentOS7,gcc10.2(自己编译的),CUDA11.3,glibc2.17,使用本机的miniconda。

  • Ubuntu22.04,gcc12.2(自己编译的),CUDA11.7,glibc2.35,使用本机的anaconda。

本文主要是基础环境的配置,不涉及MPI版、NCCL支持等,并且忽略了一些高级功能的Warning,但一般功能够用了。

官方文档:ambermd.org/doc12/Amber


第一步:下载

去官网下载AmberTools22和Amber22两个安装包,总共约620MB。

网址:ambermd.org/GetAmber.ph

有两个这样的框,填写并点击下载即可


第二步:解压

解压两个包到同一安装目录。

这里有两点,可能是其他教程年代太久远,至少我觉得不需要。

  • 现在并不需要什么“先安装串行版、再安装并行版”,“先安装非CUDA版、再安装CUDA版”的操作。

  • 有些教程说要先执行一下update_amber,反正我试了它说没有updates,大家可以参考Amber手册2.4.1 Basic Usage。


第三步:准备安装环境

安装依赖包

根据你的OS装一下:ambermd.org/Installatio,没权限就用conda。

安装CUDA

请参考别的资料。注意最好不要太新,11.x就行。完成后,在~/.bashrc中添加

安装GNU编译器

并在~/.bashrc中添加路径

检查:命令行输入gcc -v即可看到现在启用的是哪个版本。当然,cmakemake也检查一下,不要装太老的。

注意:GNU编译器的版本要和CUDA匹配,否则Amber安装第一步就报错。我没有找到有人列出具体的对应关系,在我的尝试中,

  • CUDA11.3---gcc10.x都可以

  • CUDA11.7---gcc12.x都可以

系统自带版本不对的话,就自己编译一个,大概要二十分钟。

在国内各种镜像站都可以直接下载,如:mirrors.sjtug.sjtu.edu.cn

安装Intel编译器

sob老师说:“amber的计算量大的代码都是基于fortran的,c编译器实际上用什么无所谓,不影响速度,关键是ifort比gfortran强多了”(http://bbs.keinsci.com/thread-311-1-1.html),反正Intel编译器帮我编译通过了。

安装最新版(2023)就可以,这两个都装一下吧,装到同一目录下。我找fortran编译器它就跳到第二个网址了,但是装完又说缺少base模块。网址:

  • intel.com/content/www/u

  • intel.com/content/www/u

根据提示安装即可。下载比较慢(建议科学上网),共需一小时左右。然后按照提示添加以下变量到~/.bashrc

我们组的集群上已经装好了Intel的编译器,那就source一下即可。其实fortran用的还是gfortran,但是有些模块自动检测到了ifort,intel的fortran编译器。所以能检测到ifort命令应该就行。

准备Python环境

Amber22文档的2.2.5小节和2.3小节有详细的说明,非常建议完整阅读。

按理说使用Amber自带的conda还是自己之前已经装了conda都是可以的,只不过我尝试前者没成功。后者意味着你的Amber将使用这个环境的Python interpreter,可以通过conda安装各种扩展,但文档说可能找包的时候dependencies会有风险。不管了。

备注:

  • 当我用python3.11时,遇到了一个'longintrepr.h' file not found的错误(https://stackoverflow.com/questions/74979674/gensim-install-in-python-3-11-fails-because-of-missing-longintrepr-h-file),所以Python不要用太新的版本,3.10.0就行(2023年4月测试时)。

  • 上面的几个安装包是Amber22文档要求必须安装的,否则立即报错。执行过程中还会看到大量xxx not found的问题,其实不要紧,有些是如mkl之类的我们暂不需要的功能,有的是AmberTools里的包,后面会安装上。CMakeError.log也有很多这种信息,但对我没什么帮助。。

  • 其他包如boost可能在编译不通过的报错中出现(http://archive.ambermd.org/202204/0094.html),可能需要多尝试几次创建conda环境;某些tools可能需要tkinter之类的额外的包,这个应该不影响编译,编译完了Amber再在conda环境里装应该也行。

  • 我有一个安装了conda版AmberTools22、python3.10的conda环境,还装了很多其他包,不知为何run_cmake都过不了。建议用一个干净的conda环境;不建议用系统Python的interpreter。

第四步:安装

打开./run_cmake文件,其实就是包装了一下cmake命令。我用的是:

  • -DCMAKE_INSTALL_PREFIX=你要安装到的地方,不要和当前这个源码包一致。。自己换个路径。

  • -DCOMPILER=GNU,我尝试了换用INTEL,但make install不成功。

  • -DDOWNLOAD_MINICONDA=FALSE:用我们的conda。
    如果你要设为true,一定要~/.bashrc中移除我们自己的conda(deactivate所有环境)!否则它会被修改,很是难看。同时,建议用sh shell(以便安装conda)。而且,需要联网下载东西。

  • -DUSE_CONDA_LIBS=TRUE:若用我们的conda,一定要加上。

  • -DCUDA_TOOLKIT_ROOT_DIR=默认是没有的,最好加上,强行指定。

更多:

  • 常见的cmake选项:https://ambermd.org/pmwiki/pmwiki.php/Main/CMake-Common-Options

  • 详情请在build下执行ccmake ..(interactively edit cmake options)以查看。

完成后,根据屏幕提示,在~/.bashrc中添加


最后一步:测试

如果-DINSTALL_TESTS=TRUE,可以

可能要一个多小时。

屏幕输出测试信息,也保存在logs文件夹下。如果你看到

这种信息,就可以enjoy了。不放心可以看看.diff文件,没有太大差别的,计算机产生随机误差也很正常。官网上也有在各种环境下build的结果:https://ambermd.org/InstSingularity.php,如果failed的个数差不多的话,就可以放心用了。


Amber22安(cai)装(keng)过程分享的评论 (共 条)

分享到微博请遵守国家法律