MPI_Init

いちごパック > MPIの解説 > MPI_Init

インターフェース

#include <mpi.h>
int MPI_Init(int* argc, char*** argv);
main関数の引数アドレスを渡して、MPIの実行環境を初期化します。 この関数は、main関数が開始されたらすぐに呼び出す必要があります。 マルチスレッドプログラムの場合、MPI_Init()とMPI_Finalize()はmain関数を呼び出したスレッドから呼び出す必要があります。
成功した場合の戻り値はMPI_SUCCESSです。失敗した場合はそれ以外のエラー値が返されます。
引数内容
argc引数の数へのポインタです。
argv引数の配列へのポインタです。

サンプルプログラム

初期化と終了処理をするだけのサンプルソースコードを示します。 コメント部分に並列実行される処理を記述していきます。

#include <mpi.h>

#define ABORT_INIT 1

int main( int argc, char** argv )
{
    int num_processes = 1;
    int process_rank = 0;
    int ret;

    ret = MPI_Init(&argc, &argv);
    if (ret == MPI_SUCCESS)
    ret = MPI_Comm_size(MPI_COMM_WORLD, &num_processes);
    if (ret == MPI_SUCCESS)
        ret = MPI_Comm_rank(MPI_COMM_WORLD, &process_rank);
    if (ret != MPI_SUCCESS) {
        // error
        MPI_Abort(MPI_COMM_WORLD, ABORT_INIT);
    }

    // MPI_Xxx()

    MPI_Finalize();
    return 0;
}

このプログラムは何もしませんので、コンソール出力は何もありません。

関連ページ

  • MPIの解説 目次