C を使用して MPI アプリケーションを作成していますが、いくつかの問題で立ち往生しています。
私はこのようなものを持っています:
if (rank == 0)
{
toRank = 1;
for(i=3;i<=k;i++)
{
MPI_Send(&result, 1, MPI_INT, toRank, 0, MPI_COMM_WORLD);
printf(%d\n", result);
MPI_Recv(&result, 1, MPI_INT, toRank, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
printf("%d\n", result);
toRank++;
if (toRank >= numProcessos)
toRank = 1;
}
}
else
{
MPI_Recv(&k, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
printf("%d\n", k);
MPI_Send(&result, 1, MPI_INT, 0, 0, MPI_COMM_WORLD);
}
しかし、マスター ノードがランク 1 に別のメッセージを送信すると、このノードはメッセージを受信しません。
このコードに何か問題がありますか?
前もって感謝します!