MPI
    Top > Linux > ユーティリティー
    はしがき
    先日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に辿り着いたのち二つ目のプリントが実行されている.
    References
    MPIによるプログラミング概要(その1)【Fortran言語編】 + https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwiCpe-b1qzcAhVPIIgKHZ14DewQFghAMAI&url=http%3A%2F%2Fwww.r-ccs.riken.jp%2Fr-ccssite%2Fwp-content%2Fuploads%2F2014%2F12%2Fss14_MPIprog-F1_rev.pdf&usg=AOvVaw1oVDWEDssfFFl0DFUW17_e OpenMPIのCentOSへのインストールから実行まで + https://qiita.com/chojuku/items/f800cfc98811e2d0bda6 2. プログラム制御 + http://www.cv.titech.ac.jp/~hiro-lab/study/mpi_reference/chapter2.html