コンテンツにスキップ
開発版ドキュメント — このサイトはmainブランチ向けで、インストール済みリリースと異なる場合があります。変更履歴を確認してください。

インストール

BEACH の Python package、beachx、Fortran 実行バイナリ beach は同時にインストールされます。通常の pip install では、Fortran Package Manager (fpm) も隔離された build 環境に自動導入されます。

初回は次の前提を確認してください。

項目要件
OS主にLinuxで動作確認済み。HPCでは各サイトのcompiler/MPI環境に従う
Python3.10以上
source取得git
build toolmake
Fortrangfortran、Intel Fortranなど
C++g++、icpx など。乱数ライブラリ(pcg-cpp-fortran-bind)の build に使う
ネットワーク初回ビルドで fpm が依存ライブラリ(toml-f、sheath-model、pcg-cpp-fortran-bind)を GitHub から取得する
Terminal window
python --version
git --version
make --version
gfortran --version
g++ --version

計算ノードから GitHub へ接続できない HPC では、ビルドの前にログインノードで依存だけを取得します。 fpm update はソースを取得するだけでコンパイルしません。

Terminal window
fpm update

このドキュメントと一致する版をインストール

Section titled “このドキュメントと一致する版をインストール”

このサイトは GitHub の main branch にある設定と出力を説明します。公式チュートリアルを 同じ期待値で実行するには、現行 source をインストールします。

Terminal window
python -m pip install -U pip setuptools wheel
python -m pip install "git+https://github.com/Nkzono99/BEACH.git"

確認:

Terminal window
beach --version
beachx --help

beach または beachx が見つからない場合:

Terminal window
python -m site --user-base
export PATH="$HOME/.local/bin:$PATH"

表示されたuser base配下のbinを、shellの設定に追加してください。

Terminal window
python -m pip install beach-bem

PyPI 版は公開時点で固定された安定版です。公開版の beachx config init が作る入門設定は、このサイトの main branch より古い場合があります。その場合は、このサイトのチュートリアルの期待値と混ぜず、上の GitHub 版を 使ってください。

checkoutを編集しながら使う場合:

Terminal window
python -m pip install -e . --no-build-isolation

--no-build-isolationは、pyproject.tomlに定義されたbuild dependencyの自動導入を無効にします。 この方法やmakeを直接使う場合は、先にfpmをPATH上に用意してください。

Terminal window
python -m pip install fpm
fpm --version

ソース checkout で Intel MPI の環境を用意し、サイトの手順に従って計算ノードでビルドします。

Terminal window
make install-camphor

浮動小数点演算の再結合などを許可する場合は、make install-camphor-fast を明示指定できます。 -fp-model fast=1 により近接場の超越関数も SIMD 化されます。20 バッチの測定(4 MPI rank × 16 スレッド)では 通常精度版の約 1.3 倍速く、短い単一スレッド比較では電荷・履歴に相対 10−1310^{-13} 程度の差が見られました。 個々の粒子の衝突・脱出結果も変わり得ます。この差は他の入力や長時間実行での誤差上限ではありません。 既定のビルドは通常精度のままです。検証・数値比較には install-camphor を使い、 設定と上書き方法は ビルドプロファイル を参照してください。

Terminal window
python -m pip install -U beach-bem
python -m pip uninstall beach-bem

compilerや開発時のfpmが見つからない場合は、先にOS/HPCのpackage/moduleを設定してください。 失敗例はトラブルシューティングにまとめています。

次は入門チュートリアルへ進みます。