737
回編集
124行目: | 124行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''MPI-rebuilds の粒度とカプセル化の改善 | |||
''' | |||
MPI のみのビルドセグメントを扱うための追加の Allwmake-mpi スクリプトが提供されています。関連するセクションでは、FOAM_MPI_LIBBIN ターゲットの場所 (通常は FOAM_LIBBIN/FOAM_MPI がデフォルト) を使用して、ツリー外ターゲットでのビルドを可能にしました。 | |||
例えば、トップレベルの Allwmake を使ってデフォルトの MPI 設定 (例: system openmpi) で OpenFOAM をビルドした後、異なる MPI で MPI レイヤーをリビルドすることができます。 | |||
任意の既知の型 | |||
<syntaxhighlight> | |||
othermpi() | |||
{ | |||
export WM_MPLIB=OPENMPI | |||
export FOAM_MPI=openmpi-3.1.3 | |||
export OPAL_PREFIX=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$FOAM_MPI | |||
export MPI_ARCH_PATH="$OPAL_PREFIX" | |||
} | |||
</syntaxhighlight> | |||
そして、これを使ってThirdPartyのptscotchを再構築してください。 | |||
<syntaxhighlight> | |||
( | |||
othermpi | |||
$WM_THIRD_PARTY_DIR/makeSCOTCH | |||
) | |||
</syntaxhighlight> | |||
を作成し、OpenFOAM の mpi 依存部分を再構築することができます。 | |||
例えば、既存の docker/signularity イメージを使って新しい MPI コンポーネントをリビルドする場合など、ソース外のインストール場所を提供することも可能です。 | |||
<syntaxhighlight> | |||
for script in $(find src -name Allwmake-mpi) | |||
do | |||
( | |||
other_mpi | |||
export FOAM_MPI_LIBBIN="$HOME/tmp/install-prefix/lib/$FOAM_MPI" | |||
) | |||
done | |||
</syntaxhighlight> | |||
== 前処理 == | == 前処理 == |