私は MPI を試していますが、コマンド ラインで mpirun を使用して実行すると、このエラーが発生し続けました。
----------------------------------------------------------------------------------------------
mpirun noticed that the job aborted, but has no info as to the process
that caused that situation.
----------------------------------------------------------------------------------------------
理由はわかりませんが、他の mpi プログラムは問題なく動作します。
これが私のコードです。
#include <stdio.h>
#include <mpi.h>
int func(int num){
int rank;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
if (num == 0){
num = 5;
MPI_Bcast(&num, 1, MPI_INT, rank, MPI_COMM_WORLD);
}
return num;
}
int main(int argc, char **argv){
int rank, size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
printf("On processor %d, func returns %d\n", rank, func(rank));
MPI_Finalize();
return 0;
}
プログラムはまだ同じエラーを出しています。if ステートメント内の MPI_Bcast は有効ではありませんか? ルートでないときにブロードキャストを試みても動作しますか?