はしがき
先日MPIの勉強を始めたばかりなのでほぼ資料のコピペ.
MPIとは
・Message Passing Interface
・分散メモリ間のメッセージ通信APIの「規格」
ープログラムやライブラリそのものではない
インストール(CentOS)
とりあえずサンプル hello.f90
Fortranでは include 'mpif.h' でmpiのサブルーチンを使えるようにする.
Fortran90(以降?)では use mpi でもよい.
変数も登録されている.変数はMPI_で始まるので,そういった変数名はユーザー側で定義しない方が良い.
コンパイル,実行
サブルーチン
Cと違って終了ステータスが必要らしい.
MPI_Init:MPIの起動
最初に必ず入れる.
MPI_Comm_size:全プロセス数の取得
MPI_Comm_rank:自身のプロセスランクの取得
MPI_Barrier:実行制御
すべてのプロセスがこのサブルーチンに辿り着くまでその先に進まないというもの(多分).
次項で出てくる.
MPI_Finalize:MPIの終了
最後に必ず入れる.
ちゃんと終了しないと終わったはずなのに終わらないという状態になるらしい.
MPI_Barrierによる実行制御
モデルの結合とかに使えると思う.
コンパイル,実行
全プロセスが一つ目のプリントを実行し,MPI_Barrierに辿り着いたのち二つ目のプリントが実行されている.