Amber22安(cai)裝(keng)過程分享
最近Amber22可以免費用于學術目的了,趕緊安裝一下。安裝本身不難,難在依賴的環(huán)境、包該如何配置。
Amber22的文檔有很詳細的installation guide,非常建議通讀那部分,如果很不幸你遇到奇怪的報錯,可以參考以下流程。
環(huán)境:
CentOS7,gcc10.2(自己編譯的),CUDA11.3,glibc2.17,使用本機的miniconda。
Ubuntu22.04,gcc12.2(自己編譯的),CUDA11.7,glibc2.35,使用本機的anaconda。
本文主要是基礎環(huán)境的配置,不涉及MPI版、NCCL支持等,并且忽略了一些高級功能的Warning,但一般功能夠用了。
官方文檔:https://ambermd.org/doc12/Amber22.pdf
第一步:下載
去官網下載AmberTools22和Amber22兩個安裝包,總共約620MB。
網址:https://ambermd.org/GetAmber.php

第二步:解壓
解壓兩個包到同一安裝目錄。
這里有兩點,可能是其他教程年代太久遠,至少我覺得不需要。
現(xiàn)在并不需要什么“先安裝串行版、再安裝并行版”,“先安裝非CUDA版、再安裝CUDA版”的操作。
有些教程說要先執(zhí)行一下
update_amber
,反正我試了它說沒有updates,大家可以參考Amber手冊2.4.1 Basic Usage。
第三步:準備安裝環(huán)境
安裝依賴包
根據(jù)你的OS裝一下:https://ambermd.org/Installation.php,沒權限就用conda。
安裝CUDA
請參考別的資料。注意最好不要太新,11.x就行。完成后,在~/.bashrc
中添加
安裝GNU編譯器
并在~/.bashrc
中添加路徑
檢查:命令行輸入gcc -v
即可看到現(xiàn)在啟用的是哪個版本。當然,cmake
和make
也檢查一下,不要裝太老的。
注意:GNU編譯器的版本要和CUDA匹配,否則Amber安裝第一步就報錯。我沒有找到有人列出具體的對應關系,在我的嘗試中,
CUDA11.3---gcc10.x都可以
CUDA11.7---gcc12.x都可以
系統(tǒng)自帶版本不對的話,就自己編譯一個,大概要二十分鐘。
在國內各種鏡像站都可以直接下載,如:https://mirrors.sjtug.sjtu.edu.cn/gnu/gcc/。
安裝Intel編譯器
sob老師說:“amber的計算量大的代碼都是基于fortran的,c編譯器實際上用什么無所謂,不影響速度,關鍵是ifort比gfortran強多了”(http://bbs.keinsci.com/thread-311-1-1.html),反正Intel編譯器幫我編譯通過了。
安裝最新版(2023)就可以,這兩個都裝一下吧,裝到同一目錄下。我找fortran編譯器它就跳到第二個網址了,但是裝完又說缺少base模塊。網址:
https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html
https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html
根據(jù)提示安裝即可。下載比較慢(建議科學上網),共需一小時左右。然后按照提示添加以下變量到~/.bashrc
我們組的集群上已經裝好了Intel的編譯器,那就source一下即可。其實fortran用的還是gfortran
,但是有些模塊自動檢測到了ifort
,intel的fortran編譯器。所以能檢測到ifort
命令應該就行。
準備Python環(huán)境
Amber22文檔的2.2.5小節(jié)和2.3小節(jié)有詳細的說明,非常建議完整閱讀。
按理說使用Amber自帶的conda還是自己之前已經裝了conda都是可以的,只不過我嘗試前者沒成功。后者意味著你的Amber將使用這個環(huán)境的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文檔要求必須安裝的,否則立即報錯。執(zhí)行過程中還會看到大量xxx not found的問題,其實不要緊,有些是如mkl之類的我們暫不需要的功能,有的是AmberTools里的包,后面會安裝上。
CMakeError.log
也有很多這種信息,但對我沒什么幫助。。其他包如boost可能在編譯不通過的報錯中出現(xiàn)(http://archive.ambermd.org/202204/0094.html),可能需要多嘗試幾次創(chuàng)建conda環(huán)境;某些tools可能需要tkinter之類的額外的包,這個應該不影響編譯,編譯完了Amber再在conda環(huán)境里裝應該也行。
我有一個安裝了conda版AmberTools22、python3.10的conda環(huán)境,還裝了很多其他包,不知為何
run_cmake
都過不了。建議用一個干凈的conda環(huán)境;不建議用系統(tǒng)Python的interpreter。
第四步:安裝
打開./run_cmake
文件,其實就是包裝了一下cmake
命令。我用的是:
-DCMAKE_INSTALL_PREFIX=
你要安裝到的地方,不要和當前這個源碼包一致。。自己換個路徑。-DCOMPILER=GNU
,我嘗試了換用INTEL
,但make install
不成功。-DDOWNLOAD_MINICONDA=FALSE
:用我們的conda。
如果你要設為true,一定要從~/.bashrc
中移除我們自己的conda(deactivate所有環(huán)境)!否則它會被修改,很是難看。同時,建議用sh shell(以便安裝conda)。而且,需要聯(lián)網下載東西。-DUSE_CONDA_LIBS=TRUE
:若用我們的conda,一定要加上。-DCUDA_TOOLKIT_ROOT_DIR=
默認是沒有的,最好加上,強行指定。
更多:
常見的cmake選項:https://ambermd.org/pmwiki/pmwiki.php/Main/CMake-Common-Options
詳情請在
build
下執(zhí)行ccmake ..
(interactively edit cmake options)以查看。
完成后,根據(jù)屏幕提示,在~/.bashrc
中添加
最后一步:測試
如果-DINSTALL_TESTS=TRUE
,可以
可能要一個多小時。
屏幕輸出測試信息,也保存在logs文件夾下。如果你看到
這種信息,就可以enjoy了。不放心可以看看.diff文件,沒有太大差別的,計算機產生隨機誤差也很正常。官網上也有在各種環(huán)境下build的結果:https://ambermd.org/InstSingularity.php,如果failed的個數(shù)差不多的話,就可以放心用了。