インターフェース
#include <mpi.h>
int MPI_Comm_rank(MPI_Comm comm, int* prank);
指定されたプロセスグループ内での現在のプロセスのランク(識別番号)を返します。
成功した場合の戻り値はMPI_SUCCESSです。失敗した場合はそれ以外のエラー値が返されます。
引数 | 内容 |
comm | 所属プロセスグループを指定します。MPI_COMM_WORLDを指定するとすべてのプロセスが所属するプロセスグループになります。 |
prank | ランクを受け取る変数へのポインタを指定します。 |
サンプルプログラム
初期化と終了処理をするだけのサンプルソースコードを示します。
#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つのプロセスで実行しているのであれば、
各プロセスのprocess_rankは0〜3になります。
関連ページ
MPIの解説 目次