MPI_Comm_size

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

インターフェース

#include <mpi.h>
int MPI_Comm_size(MPI_Comm comm, int* psize);
指定されたプロセスグループに含まれるプロセス数(サイズ)を返します。
成功した場合の戻り値はMPI_SUCCESSです。失敗した場合はそれ以外のエラー値が返されます。
引数内容
comm所属プロセスグループを指定します。MPI_COMM_WORLDを指定するとすべてのプロセスが所属するプロセスグループになります。
psizeサイズを受け取る変数へのポインタを指定します。

サンプルプログラム

初期化と終了処理をするだけのサンプルソースコードを示します。

#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;
}

例えば、4つのプロセスで実行しているのであれば、num_processesは4になります。

関連ページ

  • MPIの解説 目次