環境
以下の環境で確認しました
- macOS 15.4.1 (Sequoia), Apple M3 Pro
- Xcode 16.3, Build version 16E140
- ターミナルからHomebrewをインストールしてある
- ターミナルから
xcode-select --install
でCommand Line Toolsをインストールしてある(必要)
Note
2025年4月29日にpmemd24とambertools25がリリースされました( http://ambermd.org/GetAmber.php)。
重要なこととして、これまでのインストール方法から大きく変化しています。これまではAMBERとAmberToolsが、別のファイルとしてダウンロードしてくるとはいえ、展開したときのディレクトリ名がamberXX
と同じ名前になっていましたが、今回からはpmemd24.tar.bz2
とambertoosl25.tar.bz2
をそれぞれ展開すると
- 高速なMDシミュレーションを実行するパッケージは
pmemd24_src
- 解析ツール群の
ambertools25_src
に分かれました。インストール方法はほぼ共通です。
macOSへのインストール方法
ambertools25
公式からソースコードのpmemd24.tar.bz2
とambertoosl25.tar.bz2
を入手していることが前提です。
以下の処理を先にしておく必要があります。
XcodeとXcode command line developer toolsをインストールしておく。XcodeはApp storeからダウンロードします。Xcode command line developer toolsはターミナルからxcode-select --install
を入力し、その後指示に従います。さらにターミナルからsudo xcodebuild -license accept
も追加で入力が必要- ↑現在不要みたい
以下インストール手順です。
- 2025年5月26日:Homebrewのデフォルトがgcc-15に変更された影響で、gfortran-15ではambertools25のビルドが失敗することを確認。ambertools25のビルドにはgcc-13を使うことが推奨される
- 最新のcmake 4.0が入っている状態では
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
を追加する
# macOSのHomebrewで必要なソフトウェアをインストールしておく。
brew install cmake gcc gcc@13 wget open-mpi gnu-sed
# ダウンロードしてきたソースコードをtar jxvfで解凍する
tar jxvf ambertools25.tar.bz2
cd ambertools25_src
# updateを実行する
# gnu-sedを利用して1行目のshebangを/usr/bin/pythonから/usr/bin/python3に変更
gsed -i -e "s/env python/env python3/g" update_amber
./update_amber --update
# cmake用のbuildディレクトリに入る
cd build
# gcc-13を一時的に使うための設定
ln -sf /opt/homebrew/opt/gcc@13/bin/gfortran-13 /opt/homebrew/bin/gfortran
###############################
# ここが最重要の設定。-DCMAKE_INSTALL_PREFIXにインストール先ディレクトリを指定する
# 下の例はホームディレクトリ以下のapps/ambertools25にインストールする設定。
# gcc-13を使っている場合、MPI=TRUEではうまく動作しないことがあるためFALSEにする必要がある
# 基本的にはbuild/run_cmakeの中に書かれているとおりに実行すれば良いが、最新のcmake 4.0が入っている状態では`-DCMAKE_POLICY_VERSION_MINIMUM=3.5`を追加することだけ必要。
###############################
AMBER_PREFIX=$(dirname $(dirname `pwd`))
cmake $AMBER_PREFIX/ambertools25_src \
-DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/ambertools25 \
-DCOMPILER=CLANG -DBLA_VENDOR=Apple \
-DMPI=FALSE -DCUDA=FALSE -DINSTALL_TESTS=TRUE \
-DDOWNLOAD_MINICONDA=TRUE \
-DFORCE_DISABLE_LIBS="boost" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
2>&1 | tee cmake.log
ここで設定ミスによってconfigure incompleteになってしまった場合は、build
ディレクトリの中で./clean_build
を実行し、設定を初期化してから改めてやり直したほうが良いです。
コンパイラ設定も確認してみます。
-- Compilers:
-- The C compiler identification is AppleClang 17.0.0.17000013
-- The CXX compiler identification is AppleClang 17.0.0.17000013
-- The Fortran compiler identification is GNU 13.3.0
2025年5月26日現在、Fortran compilerはGNU 13.3が推奨です。15以上ではコンパイルに失敗します。
Configureが正常終了していることを確認したらmakeとインストールを実行します。
# Configureが正常終了していることを確認したらmakeとインストールを実行する
make -j8 install
インストールが終わったら、AMBERのプログラムコマンドをいつでも使えるようにするために、~/.bash_profile
(echo $SHELL
と打ってみて最後がbash
の場合)または~/.zshrc
(echo $SHELL
と打ってみて最後がzsh
の場合。macOS Catalinaを使っているヒトはzshがデフォルトになっているはず)のどちらかのファイルに(なければ作成する)、以下のように書き込みます。
# for ambertools25
test -f ${HOME}/apps/ambertools25/amber.sh && source ${HOME}/apps/ambertools25/amber.sh
これでターミナルの起動時にambertools25のコマンドがいつでも使えるようになっているはずです。ターミナルを再起動してみたときにecho $AMBERHOME
と打ってみてAMBERをインストールしたパス(/Users/username/apps/ambertools25
みたいな感じ)が表示されれば成功です。
$ echo $AMBERHOME
/Users/moriwaki/apps/ambertools25
$ which cpptraj
/Users/moriwaki/apps/ambertools25/bin/cpptraj
pmemd24
上記のambertools25とほぼ同じです。
なぜか私が最初期にダウンロードしたpmemd24.tar.bz2
ファイルは中身が異なっていました(アップデータが古いままになっているなど)。正しいMD5ハッシュは以下の通りなので、確かめておきましょう。
$ md5sum pmemd24.tar.bz2
999d2bb64c97d3849938c6b4e35aa36f pmemd24.tar.bz2
# macOSのHomebrewで必要なソフトウェアをインストールしておく。
brew install cmake gcc gcc@13 wget open-mpi gnu-sed
# ダウンロードしてきたソースコードをtar jxvfで解凍する
tar jxvf pmemd24.tar.bz2
cd pmemd24_src
# updateを実行する
# gnu-sedを利用して1行目のshebangを/usr/bin/pythonから/usr/bin/python3に変更
gsed -i -e "s/env python/env python3/g" update_amber
# cmake用のbuildディレクトリに入る
cd build
# run_cmakeファイルの中のやり方に、-DCMAKE_POLICY_VERSION_MINIMUM=3.5を追加。
AMBER_PREFIX=$(dirname $(dirname `pwd`))
cmake $AMBER_PREFIX/pmemd24_src \
-DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/pmemd24 \
-DCOMPILER=CLANG -DBLA_VENDOR=Apple \
-DMPI=TRUE -DCUDA=FALSE -DINSTALL_TESTS=TRUE \
-DDOWNLOAD_MINICONDA=FALSE -DBUILD_PYTHON=FALSE \
-DBUILD_PERL=FALSE -DBUILD_GUI=FALSE \
-DPMEMD_ONLY=TRUE -DCHECK_UPDATES=FALSE \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
2>&1 | tee cmake.log
# Configureが正常終了していることを確認したらmakeとインストールを実行する
make -j8 install
# for pmemd24
test -f ${HOME}/apps/pmemd24/amber.sh && source ${HOME}/apps/pmemd24/amber.sh
こちらはfortran compilerが15でも問題ないようですが、13に合わせておいたほうが良いです。
Ubuntu 24.04の場合
2025年10月4日: 更新しました
apt
で依存パッケージを入れます。
sudo apt -y update
sudo apt -y install tcsh make cmake gcc gfortran flex bison patch bc xorg-dev libbz2-dev wget
以下、cmake
インストール時に確認することです。
- インストール先は
-DCMAKE_INSTALL_PREFIX=<path>
で設定する。 - GCCはUbuntu 24.04のデフォルトであるversion 13.3.0を使用し、
-DCOMPILER=GNU
でGNU Compilerによるコンパイルを指定する。 - OpenMPIを利用する場合は、この記事などを参考にして
apt
またはソースコードからのインストールを行っておき、PATHが通った状態で-DMPI=TRUE
を設定する。 -
CUDAを使ったMDシミュレーションは最大10倍近く高速なので、
apt
などであらかじめ入れておき、-DBUILD_CUDA=TRUE
とする。 -
-DCHECK_UPDATES=TRUE
を指定するとpmemd24のアップデートを確認する……はずがなんかファイルPATHを間違えているために失敗しているようだ。pmemd24のupdate.3まで行わないとBlackwell GPU(RTX5090など)で動作しないため、重要。そこで、手動でアップデートしたほうが確実である。-
pmemd24_src/cmake/AmberUpdater.cmake
の中でupdate_amber
を全部update_pmemd
に書き換えれば動作する。
-
Amber 24 Applied Patches:
-------------------------
update.1 (modifies pmemd.cuda)
Released on July 16, 2025 (written by Patricio Barletta)
Description:
This fixes gridDim.x to support Blackwell GPUs such as RTX5090
update.2 (modifies pmemd)
Released on August 21, 2025 (written by David Case (from ))
Description:
Allows compilation with plumed, by adding it to
3rdPartyTools.cmake
update.3 (modifies pmemd.cuda)
Released on September 4, 2025 (written by David Clark)
Description:
Adds some syncwarp() calls needed for NTP=1, barostat=1 runs
on Blackwell GPUs
インストール方法
tar jxvf pmemd24.tar.bz2
cd pmemd24_src
# アップデートを実行しておく
sed -i -e "s#env python#env python3#g" update_pmemd
./update_pmemd --update
# アップデータが動作するように書き換える
sed -i -e "s#update_amber#update_pmemd#g" cmake/AmberUpdater.cmake
# cmake用のbuildディレクトリに入る
cd build
# すでにビルドしたことが会った場合、クリーンアップしておく
./clean_build # yを押してクリーンアップ
# ここからcmake処理
AMBER_PREFIX=$(dirname $(dirname `pwd`))
# もしNCCLを有効化したいときは環境変数NCCL_HOMEを設定し、-DNCCL=TRUEにする。
# export NCCL_HOME="/path/to/apps/nccl/2.7.3"
cmake $AMBER_PREFIX/pmemd24_src \
-DCMAKE_INSTALL_PREFIX=${HOME}/apps/pmemd24 \
-DCOMPILER=GNU -DMPI=TRUE -DCUDA=TRUE -DINSTALL_TESTS=TRUE \
-DDOWNLOAD_MINICONDA=TRUE -DBUILD_PYTHON=TRUE \
-DBUILD_PERL=TRUE -DBUILD_GUI=FALSE \
-DPMEMD_ONLY=TRUE -DCHECK_UPDATES=TRUE \
2>&1 | tee cmake.log
# Configureが正常終了していることを確認したらmakeとインストールを実行する
make -j8 install