インストール
BEACH の Python package、beachx、Fortran 実行バイナリ beach は同時にインストールされます。通常の
pip install では、Fortran Package Manager (fpm) も隔離された build 環境に自動導入されます。
初回は次の前提を確認してください。
| 項目 | 要件 |
|---|---|
| OS | 主にLinuxで動作確認済み。HPCでは各サイトのcompiler/MPI環境に従う |
| Python | 3.10以上 |
| source取得 | git |
| build tool | make |
| Fortran | gfortran、Intel Fortranなど |
| C++ | g++、icpx など。乱数ライブラリ(pcg-cpp-fortran-bind)の build に使う |
| ネットワーク | 初回ビルドで fpm が依存ライブラリ(toml-f、sheath-model、pcg-cpp-fortran-bind)を GitHub から取得する |
python --versiongit --versionmake --versiongfortran --versiong++ --version計算ノードから GitHub へ接続できない HPC では、ビルドの前にログインノードで依存だけを取得します。
fpm update はソースを取得するだけでコンパイルしません。
fpm updateこのドキュメントと一致する版をインストール
Section titled “このドキュメントと一致する版をインストール”このサイトは GitHub の main branch にある設定と出力を説明します。公式チュートリアルを
同じ期待値で実行するには、現行 source をインストールします。
python -m pip install -U pip setuptools wheelpython -m pip install "git+https://github.com/Nkzono99/BEACH.git"確認:
beach --versionbeachx --helpbeach または beachx が見つからない場合:
python -m site --user-baseexport PATH="$HOME/.local/bin:$PATH"表示されたuser base配下のbinを、shellの設定に追加してください。
PyPI の安定版
Section titled “PyPI の安定版”python -m pip install beach-bemPyPI 版は公開時点で固定された安定版です。公開版の beachx config init が作る入門設定は、このサイトの
main branch より古い場合があります。その場合は、このサイトのチュートリアルの期待値と混ぜず、上の GitHub 版を
使ってください。
checkout を編集しながら使う
Section titled “checkout を編集しながら使う”checkoutを編集しながら使う場合:
python -m pip install -e . --no-build-isolation--no-build-isolationは、pyproject.tomlに定義されたbuild dependencyの自動導入を無効にします。
この方法やmakeを直接使う場合は、先にfpmをPATH上に用意してください。
python -m pip install fpmfpm --versioncamphor 向けの最適化ビルド
Section titled “camphor 向けの最適化ビルド”ソース checkout で Intel MPI の環境を用意し、サイトの手順に従って計算ノードでビルドします。
make install-camphor浮動小数点演算の再結合などを許可する場合は、make install-camphor-fast を明示指定できます。
-fp-model fast=1 により近接場の超越関数も SIMD 化されます。20 バッチの測定(4 MPI rank × 16 スレッド)では
通常精度版の約 1.3 倍速く、短い単一スレッド比較では電荷・履歴に相対 程度の差が見られました。
個々の粒子の衝突・脱出結果も変わり得ます。この差は他の入力や長時間実行での誤差上限ではありません。
既定のビルドは通常精度のままです。検証・数値比較には install-camphor を使い、
設定と上書き方法は ビルドプロファイル を参照してください。
python -m pip install -U beach-bempython -m pip uninstall beach-bemcompilerや開発時のfpmが見つからない場合は、先にOS/HPCのpackage/moduleを設定してください。 失敗例はトラブルシューティングにまとめています。
次は入門チュートリアルへ進みます。