AmberTools をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
昔amberを使って自由エネルギー計算を行った事があった。
学術機関/非営利団体/政府機関 なら無償で使えるみたい.
&size(10){ハードウエアメーカーがベンチ目的で使うなら 500...
&size(10){以前は政府機関なら500$と聞いていたのだが変更に...
AmberToolsとAmberがあってpmemdの存在可否くらい?
ソースコードが必要なら [[https://ambermd.org/GetAmber.php...
っがコンパイルとか面倒なら conda 経由でインストール可能の...
***対象計算機 [#uc20a098]
インストール対象の計算機は rockylinux9 なマシンです
#code(nonumber){{
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[root@rockylinux9 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 ...
GCC version: gcc version 11.5.0 20240719 (Red Hat 11.5.0...
[root@rockylinux9 ~]# ls -ld /usr/local/cuda* | grep -v '...
drwxr-xr-x. 15 root root 4096 Aug 15 03:30 /usr/local/cud...
[root@rockylinux9 ~]#
}}
nvidiaドライバーはありますが、cudaライブラリは入れていな...
***condaで入手 [#y0681bc5]
ここでは[[crYOLO]]や[[PyEM]]の構築にpyenv/anaconda環境を...
#code(nonumber){{
[root@rockylinux9 ~]# source /apps/pyenv/versions/minifor...
}}
その後に
#code(nonumber){{
[root@rockylinux9 ~]# conda create --name AmberTools
[root@rockylinux9 ~]# conda activate AmberTools
(AmberTools) [root@rockylinux9 ~]#
(AmberTools) [root@rockylinux9 ~]# conda search ambertool...
Loading channels: done
# Name Version Build Cha...
:
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
:
(AmberTools) [root@rockylinux9 ~]#
}}
いろいろ種類がありますが、cudaと付いていてもmdエンジンがc...
あとopenmpiと付くのはmpi対応な感じ. ambertoolsでのmdエン...
&size(10){gpu対応なプログラムは pmemd で、これは amber パ...
ここではノーマル版を入れてみた.
#code(nonumber){{
(AmberTools) [root@rockylinux9 ~]# conda install ambertoo...
(AmberTools) [root@rockylinux9 ~]# conda list
:
ambertools 26.0 cuda_None_n...
amberutils 21.0 pypi_0 ...
:
mkl 2026.1.0 hecca717_24...
:
python 3.14.6 h242f9ac_10...
:
(AmberTools) [root@rockylinux9 ~]#
(AmberTools) [root@rockylinux9 ~]# conda list |grep pypi
amberutils 21.0 pypi_0 ...
edgembar 3.6.5 pypi_0 ...
fetkutils 3.6.5 pypi_0 ...
mmpbsa-py 16.0 pypi_0 ...
ndfes 3.6.5 pypi_0 ...
pdb4amber 22.0 pypi_0 ...
proprep 1.0.0 pypi_0 ...
pymsmt 22.0 pypi_0 ...
pytraj 3.0.0.dev0 pypi_0 ...
rismtools 0.0.0 pypi_0 ...
sander 22.0 pypi_0 ...
(AmberTools) [root@rockylinux9 ~]#
(AmberTools) [root@rockylinux9 ~]# ls -l /apps/pyenv/vers...
-rwxr-xr-x. 2 root root 10294552 Jul 15 11:51 /apps/pyenv...
-rwxr-xr-x. 2 root root 10332496 Jul 15 11:51 /apps/pyenv...
(AmberTools) [root@rockylinux9 ~]#
}}
***EnvironmentModules [#ca311fb7]
「/apps/modulefiles/ambertools/23.6」
#code(nonumber){{
#%Module1.0
set root /apps/pyenv/versions/anaconda3-20...
prepend-path PATH $root/bin
}}
***amber をソースから作ってみる [#mb5c1943]
ソースコードを[[https://ambermd.org/GetAmber.php>+https:/...
準備
構築に必要なパッケージとcudaライブラリを入れます。
#code(nonumber){{
[root@rockylinux9 ~]# dnf install cmake gfortran libXt-de...
[root@rockylinux9 ~]# module load cuda/12.8
[root@rockylinux9 ~]# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0
[root@rockylinux9 ~]# gcc --version
gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-14)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditi...
warranty; not even for MERCHANTABILITY or FITNESS FOR A P...
[root@rockylinux9 ~]#
}}
下準備として
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src
[root@rockylinux9 src]# git clone http://github.com/plume...
[root@rockylinux9 src]# cd plumed2/
[root@rockylinux9 plumed2]# git checkout v2.10.1
[root@rockylinux9 plumed2]# module load mpi
[root@rockylinux9 plumed2]# ./configure --prefix=/apps/pl...
[root@rockylinux9 plumed2]# make; make install
[root@rockylinux9 ~]# dnf config-manager --set-enabled crb
[root@rockylinux9 ~]# dnf install blas-devel lapack-devel...
[root@rockylinux9 ~]# cd /apps/src
[root@rockylinux9 src]# git clone https://github.com/Elec...
[root@rockylinux9 src]# cd apbs
[root@rockylinux9 apbs]# git checkout v3.4.1
[root@rockylinux9 apbs]# mkdir build ; cd build/
[root@rockylinux9 build]#
[root@rockylinux9 build]# export APBSHOME=/apps/apbs/3.4....
[root@rockylinux9 build]# export MCSH_HOME=/dev/null
[root@rockylinux9 build]# cmake .. \
-DCMAKE_INSTALL_PREFIX=/apps/apbs/3.4.1-iapbs \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_DOC=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_QUIET=ON \
-DENABLE_iAPBS=ON \
-DENABLE_TESTS=OFF \
-DBLAS_LIBRARIES=/usr/lib64/libblas.so \
-DLAPACK_LIBRARIES=/usr/lib64/liblapack.so
[root@rockylinux9 build]# cmake --build . -j 16
[root@rockylinux9 build]# cmake --install .
[root@rockylinux9 build]# ls /apps/apbs/3.4.1-iapbs/
bin include lib64 share
[root@rockylinux9 build]# ls /apps/apbs/3.4.1-iapbs/bin/
apbs
[root@rockylinux9 build]#
}}
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src
[root@rockylinux9 src]# tar xf /Public/em/ambertools26.ta...
[root@rockylinux9 src]# cd ambertools26_src/
[root@rockylinux9 ambertools26_src]# ls -CF
AmberTools/ build/ cmake/ CMakeLists.txt cmake-packag...
[root@rockylinux9 ambertools26_src]# ./update_amber --upd...
Preparing to apply updates... please wait.
Downloading updates for AmberTools 26
Downloading AmberTools 26/update.1 (1498.42 KB)
Downloading: [:::::::::::::::::::::::::::::::::::::::::::...
Applying AmberTools 26/update.1
NOTE: update_amber only updates the raw source code! You ...
any changes to take effect!
[root@rockylinux9 ambertools26_src]#
}}
cmakeを使ってコンパイル設定を行いmake/make installな流れ
一応簡単に作れるシェルスクリプトが build/ に用意されてま...
ここではcmakeを直に使って設定を行います
cmakeのオプションは [[https://ambermd.org/pmwiki/pmwiki.p...
#code(nonumber){{
[root@rockylinux9 ambertools26_src]# ls -CF build/
clean_build* configure_cmake.py* run_cmake* run_cmake....
[root@rockylinux9 ambertools26_src]#
[root@rockylinux9 ambertools26_src]# mkdir build26
[root@rockylinux9 ambertools26_src]# cd build26/
[root@rockylinux9 ambertools26_src]# cmake .. \
-DCMAKE_INSTALL_PREFIX=/apps/amber/26 \
-DCOMPILER=GNU \
-DMPI=FALSE \
-DCUDA=TRUE \
-DINSTALL_TESTS=TRUE \
-DDOWNLOAD_MINICONDA=TRUE \
-DOPENMP=TRUE \
-DBUILD_GUI=TRUE \
-DBUILD_QUICK=TRUE \
-DBUILD_PERL=TRUE \
-DPMMG_GUI_DEPS=TRUE \
-DBUILD_SANDER_APBS=TRUE \
-DPLUMED_ROOT=/apps/plumed/2.10.1 \
-DCMAKE_PREFIX_PATH=/apps/apbs/3.4.1-iapbs \
-DBUILD_TCPB=TRUE
:
:
-- ******************************************************...
-- Build Report
-- Compiler Flags:
-- C No-Opt: -Wall -Wno-unused-function -Wno-un...
-- C Optimized: -Wall -Wno-unused-function -Wno-un...
--
-- CXX No-Opt: -Wall -Wno-unused-function -Wno-un...
-- CXX Optimized: -Wall -Wno-unused-function -Wno-un...
--
-- Fortran No-Opt: -Wall -Wno-tabs -Wno-unused-functi...
-- Fortran Optimized: -Wall -Wno-tabs -Wno-unused-functi...
--
-- 3rd Party Libraries
-- ---building bundled: ---------------------------------...
-- arpack - for fundamental linear algebra calculations
-- ucpp - used as a preprocessor for the NAB compiler
-- netcdf - for creating trajectory data files
-- netcdf-fortran - for creating trajectory data files fr...
-- protobuf - protocol buffers library, used for communic...
-- readline - enables an interactive terminal in cpptraj
-- xblas - used for high-precision linear algebra calcula...
-- boost - C++ support library
-- kmmd - Machine-learning molecular dynamics
-- tng_io - enables GROMACS tng trajectory input in cpptraj
-- nlopt - used to perform nonlinear optimizations
-- perlmol - chemistry library used by FEW
-- ---using installed: ----------------------------------...
-- blas - for fundamental linear algebra calculations
-- lapack - for fundamental linear algebra calculations
-- fftw - used to do Fourier transforms very quickly
-- apbs - used by Sander as an alternate Poisson-Boltzman...
-- zlib - for various compression and decompression tasks
-- libbz2 - for bzip2 compression in cpptraj
-- plumed - used as an alternate MD backend for Sander
-- libm - for fundamental math routines if they are not c...
-- ---disabled: -----------------------------------------...
-- c9x-complex - used as a support library on systems tha...
-- lio - used by Sander to run certain QM routines on the...
-- pupil - used by Sander as an alternate user interface
-- mkl - alternate implementation of lapack and blas that...
-- mbx - computes energies and forces for pmemd with the ...
-- torchani - enables computation of energies and forces ...
-- libtorch - enables libtorch C++ library for tensor com...
-- Features:
-- MPI: OFF
-- MVAPICH2-GDR for GPU-GPU comm.: OFF
-- OpenMP: ON
-- CUDA: ON
-- NCCL: OFF
-- Build Shared Libraries: ON
-- Build GUI Interfaces: ON
-- Build Python Programs: ON
-- -Python Interpreter: Internal Miniconda ...
-- Build Perl Programs: ON
-- Build configuration: RELEASE
-- Target Processor: x86_64
-- Build Documentation: ON
-- Sander Variants: normal LES APBS PUP...
-- Install location: /apps/amber/26/
-- Installation of Tests: ON
-- Compilers:
-- C: GNU 11.5.0 (/usr/bin/gcc)
-- CXX: GNU 11.5.0 (/usr/bin/g++)
-- Fortran: GNU 11.5.0 (/usr/bin/gfortran)
-- Building Tools:
-- addles ambpdb antechamber cew cifparse cphstats cpptra...
ndiff-2.00 nfe-umbrella-slice nmode nmr_aux packmol_memge...
rism rismtools sander saxs sebomd sff sqm tcpb-cpp tcpb-c...
-- NOT Building Tools:
-- reaxff_puremd - BUILD_REAXFF_PUREMD is not enabled
-- gpu_utils - Not included in AmberTools
-- pmemd - Not included in AmberTools
-- ******************************************************...
:
:
[root@rockylinux9 build24]# make; make install
(確認)
[root@rockylinux9 ~]# ls /apps/amber/26/bin/*.cuda
/apps/amber/26/bin/cpptraj.cuda /apps/amber/26/bin/pbsa....
/apps/amber/26/bin/mdgx.cuda /apps/amber/26/bin/quick...
[root@rockylinux9 ~]# ls /apps/amber/26/bin/sander*
/apps/amber/26/bin/sander /apps/amber/26/bin/sander.APBS...
[root@rockylinux9 ~]# ls /apps/amber/26/bin/*leap
/apps/amber/26/bin/tleap /apps/amber/26/bin/xleap
[root@rockylinux9 ~]#
}}
***EnvironmentModules [#n47a1710]
「/apps/modulefiles/amber/26」
#code(nonumber){{
#%Module1.0
set root /apps/amber/26
setenv AMBERHOME $root
setenv PERL5LIB $root/lib/perl
setenv PYTHONPATH $root/lib/python3.12/site-packages
setenv QUICK_BASIS $root/AmberTools/src/quick/basis
prepend-path PATH $root/bin
prepend-path LD_LIBRARY_PATH $root/lib
}}
***nccl [#j8585a13]
複数枚のgpuカードを使って計算する際に必要なそうな. nccl: ...
The NVIDIA Collective Communication Library (NCCL) implem...
(deepL先生訳: NVIDIAコレクティブ・コミュニケーション・ラ...
これをAmberに入れると、、まぁそうなるそうな.
ncclのインストール.
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src/
[root@rockylinux9 src]# git clone https://github.com/NVID...
[root@rockylinux9 src]# cd nccl
[root@rockylinux9 nccl]# git tag
[root@rockylinux9 nccl]# git checkout v2.23.4-1
[root@rockylinux9 nccl]# git branch
* (HEAD detached at v2.23.4-1)
master
[root@rockylinux9 nccl]# rm -rf build
[root@rockylinux9 nccl]# make -j src.build CUDA_HOME=/usr...
[root@rockylinux9 nccl]# make install CUDA_HOME=/usr...
[root@rockylinux9 nccl]# ls -R /apps/nccl/
/apps/nccl/:
include lib
/apps/nccl/include:
nccl.h nccl_net.h
/apps/nccl/lib:
libnccl.so libnccl.so.2 libnccl.so.2.23.4 libnccl_stat...
/apps/nccl/lib/pkgconfig:
nccl.pc
[root@rockylinux9 nccl]#
}}
もしrpmファイルを作るなら
#code(nonumber){{
[root@rockylinux9 nccl]# vi pkg/redhat/nccl.spec.in
%define debug_package %{nil}
+%define _prefix /apps/nccl
[root@rockylinux9 nccl]# make pkg.redhat.build -j CUDA_HO...
[root@rockylinux9 nccl]# rpm -qpli ./build/pkg/rpm/x86_64...
Name : libnccl
Version : 2.23.4
Release : 1+cuda12.2
Architecture: x86_64
:
/apps/nccl/lib64/libnccl.so.2
/apps/nccl/lib64/libnccl.so.2.23.4
:
[root@rockylinux9 nccl]#
}}
っでインストール
#code(nonumber){{
[root@rockylinux9 nccl]# dnf localinstall ./build/pkg/rpm...
./build/pkg/rpm...
[root@rockylinux9 nccl]#
}}
そうしてncclを有効にして amber をコンパイルします
#code(nonumber){{
[root@rockylinux9 ~]# module load cuda mpi
[root@rockylinux9 ~]# source scl_source enable gcc-toolse...
[root@rockylinux9 ~]# cd /apps/src/amber24_src/
[root@rockylinux9 amber24_src]#
[root@rockylinux9 amber24_src]# mkdir build-nccl
[root@rockylinux9 amber24_src]# cd build-nccl
[root@rockylinux9 build-nccl]#
[root@rockylinux9 build-nccl]# NCCL_HOME=/apps/nccl cmak...
-DCOMPILER=GNU -DMPI=TRUE -DCUDA=TRUE \
-DINSTALL_TESTS=TRUE -DDOWNLOAD_MINICONDA=TRUE -DOPENM...
:
:
-- Features:
-- MPI: ON
-- MVAPICH2-GDR for GPU-GPU comm.: OFF
-- OpenMP: ON
-- CUDA: ON
-- NCCL: ON
-- Build Shared Libraries: ON
-- Build GUI Interfaces: ON
-- Build Python Programs: ON
-- -Python Interpreter: Internal Miniconda ...
-- Build Perl Programs: ON
-- Build configuration: RELEASE
-- Target Processor: x86_64
-- Build Documentation: ON
-- Sander Variants: normal LES API LES-...
-- Install location: /apps/amber/24/
-- Installation of Tests: ON
:
:
[root@rockylinux9 build24]# make; make install
}}
「pmemd.cuda.MPI」が得られます
EnvironmentModulesは「/apps/modulefiles/amber/24」として
#code(nonumber){{
#%Module1.0
set root /apps/amber/24
setenv AMBERHOME $root
setenv PERL5LIB $root/lib/perl
setenv PYTHONPATH $root/lib/python3.11/site-packages
setenv QUICK_BASIS $root/AmberTools/src/quick/basis
prepend-path PATH $root/bin
prepend-path LD_LIBRARY_PATH $root/lib:/apps/nccl/lib64
}}
とする. &size(10){LD_LIBRARY_PATH として「/apps/nccl/li...
***pmemd26 [#fa23eb9f]
plumedを作ってから
#code(nonumber){{
git clone http://github.com/plumed/plumed2
git checkout v2.10.1
module load mpi
./configure --prefix=/apps/plumed/2.10.1
make; make install
}}
mpi/GPUで計算可能なmdエンジンを作ります
#code(nonumber){{
tar xf pmemd26.tar.bz
cd pmemd26_src
./update_pmemd --update
mkdir build-26
cd build-26
module load mpi
module load cuda/12.8
export LIBRARY_PATH=/apps/plumed/2.10.1/lib:$LIBRARY_P...
export LD_LIBRARY_PATH=/apps/plumed/2.10.1/lib:$LD_LIB...
cmake .. -Wno-dev \
-DCMAKE_INSTALL_PREFIX=/apps/pmemd26 \
-DCOMPILER=GNU \
-DMPI=TRUE \
-DCUDA=TRUE \
-DPGM=FALSE \
-DINSTALL_TESTS=FALSE \
-DDOWNLOAD_MINICONDA=FALSE \
-DBUILD_PYTHON=FALSE \
-DBUILD_PERL=FALSE \
-DBUILD_GUI=FALSE \
-DPMEMD_ONLY=TRUE \
-DCHECK_UPDATES=FALSE \
-DPLUMED_ROOT=/apps/plumed/2.10.1
make ; make install
}}
environment-modules「/apps/modulefiles/amber/26」
#code(nonumber){{
#%Module
set pmemd /apps/pmemd26
set root /apps/pyenv/versions/miniforge3-26.3.2-...
setenv PMEMDHOME $pmemd
prepend-path PATH $pmemd/bin:$root/bin
prepend-path LD_LIBRARY_PATH $pmemd/lib:$root/lib
}}
終了行:
昔amberを使って自由エネルギー計算を行った事があった。
学術機関/非営利団体/政府機関 なら無償で使えるみたい.
&size(10){ハードウエアメーカーがベンチ目的で使うなら 500...
&size(10){以前は政府機関なら500$と聞いていたのだが変更に...
AmberToolsとAmberがあってpmemdの存在可否くらい?
ソースコードが必要なら [[https://ambermd.org/GetAmber.php...
っがコンパイルとか面倒なら conda 経由でインストール可能の...
***対象計算機 [#uc20a098]
インストール対象の計算機は rockylinux9 なマシンです
#code(nonumber){{
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[root@rockylinux9 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 ...
GCC version: gcc version 11.5.0 20240719 (Red Hat 11.5.0...
[root@rockylinux9 ~]# ls -ld /usr/local/cuda* | grep -v '...
drwxr-xr-x. 15 root root 4096 Aug 15 03:30 /usr/local/cud...
[root@rockylinux9 ~]#
}}
nvidiaドライバーはありますが、cudaライブラリは入れていな...
***condaで入手 [#y0681bc5]
ここでは[[crYOLO]]や[[PyEM]]の構築にpyenv/anaconda環境を...
#code(nonumber){{
[root@rockylinux9 ~]# source /apps/pyenv/versions/minifor...
}}
その後に
#code(nonumber){{
[root@rockylinux9 ~]# conda create --name AmberTools
[root@rockylinux9 ~]# conda activate AmberTools
(AmberTools) [root@rockylinux9 ~]#
(AmberTools) [root@rockylinux9 ~]# conda search ambertool...
Loading channels: done
# Name Version Build Cha...
:
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 25.3 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
ambertools 26.0 cuda_None_nompi_py31...
:
(AmberTools) [root@rockylinux9 ~]#
}}
いろいろ種類がありますが、cudaと付いていてもmdエンジンがc...
あとopenmpiと付くのはmpi対応な感じ. ambertoolsでのmdエン...
&size(10){gpu対応なプログラムは pmemd で、これは amber パ...
ここではノーマル版を入れてみた.
#code(nonumber){{
(AmberTools) [root@rockylinux9 ~]# conda install ambertoo...
(AmberTools) [root@rockylinux9 ~]# conda list
:
ambertools 26.0 cuda_None_n...
amberutils 21.0 pypi_0 ...
:
mkl 2026.1.0 hecca717_24...
:
python 3.14.6 h242f9ac_10...
:
(AmberTools) [root@rockylinux9 ~]#
(AmberTools) [root@rockylinux9 ~]# conda list |grep pypi
amberutils 21.0 pypi_0 ...
edgembar 3.6.5 pypi_0 ...
fetkutils 3.6.5 pypi_0 ...
mmpbsa-py 16.0 pypi_0 ...
ndfes 3.6.5 pypi_0 ...
pdb4amber 22.0 pypi_0 ...
proprep 1.0.0 pypi_0 ...
pymsmt 22.0 pypi_0 ...
pytraj 3.0.0.dev0 pypi_0 ...
rismtools 0.0.0 pypi_0 ...
sander 22.0 pypi_0 ...
(AmberTools) [root@rockylinux9 ~]#
(AmberTools) [root@rockylinux9 ~]# ls -l /apps/pyenv/vers...
-rwxr-xr-x. 2 root root 10294552 Jul 15 11:51 /apps/pyenv...
-rwxr-xr-x. 2 root root 10332496 Jul 15 11:51 /apps/pyenv...
(AmberTools) [root@rockylinux9 ~]#
}}
***EnvironmentModules [#ca311fb7]
「/apps/modulefiles/ambertools/23.6」
#code(nonumber){{
#%Module1.0
set root /apps/pyenv/versions/anaconda3-20...
prepend-path PATH $root/bin
}}
***amber をソースから作ってみる [#mb5c1943]
ソースコードを[[https://ambermd.org/GetAmber.php>+https:/...
準備
構築に必要なパッケージとcudaライブラリを入れます。
#code(nonumber){{
[root@rockylinux9 ~]# dnf install cmake gfortran libXt-de...
[root@rockylinux9 ~]# module load cuda/12.8
[root@rockylinux9 ~]# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0
[root@rockylinux9 ~]# gcc --version
gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-14)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditi...
warranty; not even for MERCHANTABILITY or FITNESS FOR A P...
[root@rockylinux9 ~]#
}}
下準備として
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src
[root@rockylinux9 src]# git clone http://github.com/plume...
[root@rockylinux9 src]# cd plumed2/
[root@rockylinux9 plumed2]# git checkout v2.10.1
[root@rockylinux9 plumed2]# module load mpi
[root@rockylinux9 plumed2]# ./configure --prefix=/apps/pl...
[root@rockylinux9 plumed2]# make; make install
[root@rockylinux9 ~]# dnf config-manager --set-enabled crb
[root@rockylinux9 ~]# dnf install blas-devel lapack-devel...
[root@rockylinux9 ~]# cd /apps/src
[root@rockylinux9 src]# git clone https://github.com/Elec...
[root@rockylinux9 src]# cd apbs
[root@rockylinux9 apbs]# git checkout v3.4.1
[root@rockylinux9 apbs]# mkdir build ; cd build/
[root@rockylinux9 build]#
[root@rockylinux9 build]# export APBSHOME=/apps/apbs/3.4....
[root@rockylinux9 build]# export MCSH_HOME=/dev/null
[root@rockylinux9 build]# cmake .. \
-DCMAKE_INSTALL_PREFIX=/apps/apbs/3.4.1-iapbs \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_DOC=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_QUIET=ON \
-DENABLE_iAPBS=ON \
-DENABLE_TESTS=OFF \
-DBLAS_LIBRARIES=/usr/lib64/libblas.so \
-DLAPACK_LIBRARIES=/usr/lib64/liblapack.so
[root@rockylinux9 build]# cmake --build . -j 16
[root@rockylinux9 build]# cmake --install .
[root@rockylinux9 build]# ls /apps/apbs/3.4.1-iapbs/
bin include lib64 share
[root@rockylinux9 build]# ls /apps/apbs/3.4.1-iapbs/bin/
apbs
[root@rockylinux9 build]#
}}
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src
[root@rockylinux9 src]# tar xf /Public/em/ambertools26.ta...
[root@rockylinux9 src]# cd ambertools26_src/
[root@rockylinux9 ambertools26_src]# ls -CF
AmberTools/ build/ cmake/ CMakeLists.txt cmake-packag...
[root@rockylinux9 ambertools26_src]# ./update_amber --upd...
Preparing to apply updates... please wait.
Downloading updates for AmberTools 26
Downloading AmberTools 26/update.1 (1498.42 KB)
Downloading: [:::::::::::::::::::::::::::::::::::::::::::...
Applying AmberTools 26/update.1
NOTE: update_amber only updates the raw source code! You ...
any changes to take effect!
[root@rockylinux9 ambertools26_src]#
}}
cmakeを使ってコンパイル設定を行いmake/make installな流れ
一応簡単に作れるシェルスクリプトが build/ に用意されてま...
ここではcmakeを直に使って設定を行います
cmakeのオプションは [[https://ambermd.org/pmwiki/pmwiki.p...
#code(nonumber){{
[root@rockylinux9 ambertools26_src]# ls -CF build/
clean_build* configure_cmake.py* run_cmake* run_cmake....
[root@rockylinux9 ambertools26_src]#
[root@rockylinux9 ambertools26_src]# mkdir build26
[root@rockylinux9 ambertools26_src]# cd build26/
[root@rockylinux9 ambertools26_src]# cmake .. \
-DCMAKE_INSTALL_PREFIX=/apps/amber/26 \
-DCOMPILER=GNU \
-DMPI=FALSE \
-DCUDA=TRUE \
-DINSTALL_TESTS=TRUE \
-DDOWNLOAD_MINICONDA=TRUE \
-DOPENMP=TRUE \
-DBUILD_GUI=TRUE \
-DBUILD_QUICK=TRUE \
-DBUILD_PERL=TRUE \
-DPMMG_GUI_DEPS=TRUE \
-DBUILD_SANDER_APBS=TRUE \
-DPLUMED_ROOT=/apps/plumed/2.10.1 \
-DCMAKE_PREFIX_PATH=/apps/apbs/3.4.1-iapbs \
-DBUILD_TCPB=TRUE
:
:
-- ******************************************************...
-- Build Report
-- Compiler Flags:
-- C No-Opt: -Wall -Wno-unused-function -Wno-un...
-- C Optimized: -Wall -Wno-unused-function -Wno-un...
--
-- CXX No-Opt: -Wall -Wno-unused-function -Wno-un...
-- CXX Optimized: -Wall -Wno-unused-function -Wno-un...
--
-- Fortran No-Opt: -Wall -Wno-tabs -Wno-unused-functi...
-- Fortran Optimized: -Wall -Wno-tabs -Wno-unused-functi...
--
-- 3rd Party Libraries
-- ---building bundled: ---------------------------------...
-- arpack - for fundamental linear algebra calculations
-- ucpp - used as a preprocessor for the NAB compiler
-- netcdf - for creating trajectory data files
-- netcdf-fortran - for creating trajectory data files fr...
-- protobuf - protocol buffers library, used for communic...
-- readline - enables an interactive terminal in cpptraj
-- xblas - used for high-precision linear algebra calcula...
-- boost - C++ support library
-- kmmd - Machine-learning molecular dynamics
-- tng_io - enables GROMACS tng trajectory input in cpptraj
-- nlopt - used to perform nonlinear optimizations
-- perlmol - chemistry library used by FEW
-- ---using installed: ----------------------------------...
-- blas - for fundamental linear algebra calculations
-- lapack - for fundamental linear algebra calculations
-- fftw - used to do Fourier transforms very quickly
-- apbs - used by Sander as an alternate Poisson-Boltzman...
-- zlib - for various compression and decompression tasks
-- libbz2 - for bzip2 compression in cpptraj
-- plumed - used as an alternate MD backend for Sander
-- libm - for fundamental math routines if they are not c...
-- ---disabled: -----------------------------------------...
-- c9x-complex - used as a support library on systems tha...
-- lio - used by Sander to run certain QM routines on the...
-- pupil - used by Sander as an alternate user interface
-- mkl - alternate implementation of lapack and blas that...
-- mbx - computes energies and forces for pmemd with the ...
-- torchani - enables computation of energies and forces ...
-- libtorch - enables libtorch C++ library for tensor com...
-- Features:
-- MPI: OFF
-- MVAPICH2-GDR for GPU-GPU comm.: OFF
-- OpenMP: ON
-- CUDA: ON
-- NCCL: OFF
-- Build Shared Libraries: ON
-- Build GUI Interfaces: ON
-- Build Python Programs: ON
-- -Python Interpreter: Internal Miniconda ...
-- Build Perl Programs: ON
-- Build configuration: RELEASE
-- Target Processor: x86_64
-- Build Documentation: ON
-- Sander Variants: normal LES APBS PUP...
-- Install location: /apps/amber/26/
-- Installation of Tests: ON
-- Compilers:
-- C: GNU 11.5.0 (/usr/bin/gcc)
-- CXX: GNU 11.5.0 (/usr/bin/g++)
-- Fortran: GNU 11.5.0 (/usr/bin/gfortran)
-- Building Tools:
-- addles ambpdb antechamber cew cifparse cphstats cpptra...
ndiff-2.00 nfe-umbrella-slice nmode nmr_aux packmol_memge...
rism rismtools sander saxs sebomd sff sqm tcpb-cpp tcpb-c...
-- NOT Building Tools:
-- reaxff_puremd - BUILD_REAXFF_PUREMD is not enabled
-- gpu_utils - Not included in AmberTools
-- pmemd - Not included in AmberTools
-- ******************************************************...
:
:
[root@rockylinux9 build24]# make; make install
(確認)
[root@rockylinux9 ~]# ls /apps/amber/26/bin/*.cuda
/apps/amber/26/bin/cpptraj.cuda /apps/amber/26/bin/pbsa....
/apps/amber/26/bin/mdgx.cuda /apps/amber/26/bin/quick...
[root@rockylinux9 ~]# ls /apps/amber/26/bin/sander*
/apps/amber/26/bin/sander /apps/amber/26/bin/sander.APBS...
[root@rockylinux9 ~]# ls /apps/amber/26/bin/*leap
/apps/amber/26/bin/tleap /apps/amber/26/bin/xleap
[root@rockylinux9 ~]#
}}
***EnvironmentModules [#n47a1710]
「/apps/modulefiles/amber/26」
#code(nonumber){{
#%Module1.0
set root /apps/amber/26
setenv AMBERHOME $root
setenv PERL5LIB $root/lib/perl
setenv PYTHONPATH $root/lib/python3.12/site-packages
setenv QUICK_BASIS $root/AmberTools/src/quick/basis
prepend-path PATH $root/bin
prepend-path LD_LIBRARY_PATH $root/lib
}}
***nccl [#j8585a13]
複数枚のgpuカードを使って計算する際に必要なそうな. nccl: ...
The NVIDIA Collective Communication Library (NCCL) implem...
(deepL先生訳: NVIDIAコレクティブ・コミュニケーション・ラ...
これをAmberに入れると、、まぁそうなるそうな.
ncclのインストール.
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src/
[root@rockylinux9 src]# git clone https://github.com/NVID...
[root@rockylinux9 src]# cd nccl
[root@rockylinux9 nccl]# git tag
[root@rockylinux9 nccl]# git checkout v2.23.4-1
[root@rockylinux9 nccl]# git branch
* (HEAD detached at v2.23.4-1)
master
[root@rockylinux9 nccl]# rm -rf build
[root@rockylinux9 nccl]# make -j src.build CUDA_HOME=/usr...
[root@rockylinux9 nccl]# make install CUDA_HOME=/usr...
[root@rockylinux9 nccl]# ls -R /apps/nccl/
/apps/nccl/:
include lib
/apps/nccl/include:
nccl.h nccl_net.h
/apps/nccl/lib:
libnccl.so libnccl.so.2 libnccl.so.2.23.4 libnccl_stat...
/apps/nccl/lib/pkgconfig:
nccl.pc
[root@rockylinux9 nccl]#
}}
もしrpmファイルを作るなら
#code(nonumber){{
[root@rockylinux9 nccl]# vi pkg/redhat/nccl.spec.in
%define debug_package %{nil}
+%define _prefix /apps/nccl
[root@rockylinux9 nccl]# make pkg.redhat.build -j CUDA_HO...
[root@rockylinux9 nccl]# rpm -qpli ./build/pkg/rpm/x86_64...
Name : libnccl
Version : 2.23.4
Release : 1+cuda12.2
Architecture: x86_64
:
/apps/nccl/lib64/libnccl.so.2
/apps/nccl/lib64/libnccl.so.2.23.4
:
[root@rockylinux9 nccl]#
}}
っでインストール
#code(nonumber){{
[root@rockylinux9 nccl]# dnf localinstall ./build/pkg/rpm...
./build/pkg/rpm...
[root@rockylinux9 nccl]#
}}
そうしてncclを有効にして amber をコンパイルします
#code(nonumber){{
[root@rockylinux9 ~]# module load cuda mpi
[root@rockylinux9 ~]# source scl_source enable gcc-toolse...
[root@rockylinux9 ~]# cd /apps/src/amber24_src/
[root@rockylinux9 amber24_src]#
[root@rockylinux9 amber24_src]# mkdir build-nccl
[root@rockylinux9 amber24_src]# cd build-nccl
[root@rockylinux9 build-nccl]#
[root@rockylinux9 build-nccl]# NCCL_HOME=/apps/nccl cmak...
-DCOMPILER=GNU -DMPI=TRUE -DCUDA=TRUE \
-DINSTALL_TESTS=TRUE -DDOWNLOAD_MINICONDA=TRUE -DOPENM...
:
:
-- Features:
-- MPI: ON
-- MVAPICH2-GDR for GPU-GPU comm.: OFF
-- OpenMP: ON
-- CUDA: ON
-- NCCL: ON
-- Build Shared Libraries: ON
-- Build GUI Interfaces: ON
-- Build Python Programs: ON
-- -Python Interpreter: Internal Miniconda ...
-- Build Perl Programs: ON
-- Build configuration: RELEASE
-- Target Processor: x86_64
-- Build Documentation: ON
-- Sander Variants: normal LES API LES-...
-- Install location: /apps/amber/24/
-- Installation of Tests: ON
:
:
[root@rockylinux9 build24]# make; make install
}}
「pmemd.cuda.MPI」が得られます
EnvironmentModulesは「/apps/modulefiles/amber/24」として
#code(nonumber){{
#%Module1.0
set root /apps/amber/24
setenv AMBERHOME $root
setenv PERL5LIB $root/lib/perl
setenv PYTHONPATH $root/lib/python3.11/site-packages
setenv QUICK_BASIS $root/AmberTools/src/quick/basis
prepend-path PATH $root/bin
prepend-path LD_LIBRARY_PATH $root/lib:/apps/nccl/lib64
}}
とする. &size(10){LD_LIBRARY_PATH として「/apps/nccl/li...
***pmemd26 [#fa23eb9f]
plumedを作ってから
#code(nonumber){{
git clone http://github.com/plumed/plumed2
git checkout v2.10.1
module load mpi
./configure --prefix=/apps/plumed/2.10.1
make; make install
}}
mpi/GPUで計算可能なmdエンジンを作ります
#code(nonumber){{
tar xf pmemd26.tar.bz
cd pmemd26_src
./update_pmemd --update
mkdir build-26
cd build-26
module load mpi
module load cuda/12.8
export LIBRARY_PATH=/apps/plumed/2.10.1/lib:$LIBRARY_P...
export LD_LIBRARY_PATH=/apps/plumed/2.10.1/lib:$LD_LIB...
cmake .. -Wno-dev \
-DCMAKE_INSTALL_PREFIX=/apps/pmemd26 \
-DCOMPILER=GNU \
-DMPI=TRUE \
-DCUDA=TRUE \
-DPGM=FALSE \
-DINSTALL_TESTS=FALSE \
-DDOWNLOAD_MINICONDA=FALSE \
-DBUILD_PYTHON=FALSE \
-DBUILD_PERL=FALSE \
-DBUILD_GUI=FALSE \
-DPMEMD_ONLY=TRUE \
-DCHECK_UPDATES=FALSE \
-DPLUMED_ROOT=/apps/plumed/2.10.1
make ; make install
}}
environment-modules「/apps/modulefiles/amber/26」
#code(nonumber){{
#%Module
set pmemd /apps/pmemd26
set root /apps/pyenv/versions/miniforge3-26.3.2-...
setenv PMEMDHOME $pmemd
prepend-path PATH $pmemd/bin:$root/bin
prepend-path LD_LIBRARY_PATH $pmemd/lib:$root/lib
}}
ページ名:
1