OpenFOAMの計算がSLURMクラスターでどのように動作するか


  1. ユーザー操作:
    • ユーザーはSSHを使用してクラスターにログイン
    • OpenFOAMのケースディレクトリとSLURMジョブスクリプトを準備
    • sbatchsrunコマンドでジョブを投入
  2. SLURM管理:
    • SLURMコントローラーがジョブを受け付け
    • ジョブスケジューラーが優先順位と利用可能なリソースを評価
    • 要求されたリソースに基づいて適切な計算ノードを割り当て
  3. 計算プロセス:
    • ノードが割り当てられると、OpenFOAM計算が開始
    • decomposeParで自動的にケースが分割される
    • 各計算ノードが領域の一部を担当
    • MPI(Message Passing Interface)でノード間通信
  4. OpenFOAMワークフロー:
    • decomposePar:領域を並列部分に分割
    • 並列ソルバーが複数ノードで同時実行
    • reconstructPar:結果を単一のソリューションに統合
  5. ストレージシステム:
    • 共有ストレージから入力ファイルを読み込み
    • 結果を共有ストレージに書き込み
    • すべてのノードが同じファイルシステムにアクセス可能

#!/bin/bash
#SBATCH --job-name=openfoam_calc
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=32
#SBATCH --time=24:00:00
#SBATCH --partition=compute

# OpenFOAMモジュールの読み込み
module load openfoam

# ケースの分割
decomposePar

# 並列でソルバーを実行
mpirun simpleFoam -parallel

# 結果の再構築
reconstructPar

コメント

コメントを残す