【发布时间】:2015-03-04 07:44:50
【问题描述】:
我编写了一个简单的 MPI 程序。我没有在程序中进行任何处理。它只有 MPI 框架和读取变量的行。但是,程序在运行时被挂起。它打印几个换行符,然后永远挂起。
int main(int argc, char* argv[]) {
int my_rank; /* rank of process */
int p; /* number of processes */
int tag = 0; /* tag for messages */
long N;
MPI_Status status; /* return status for receive */
/* start up MPI */
MPI_Init(&argc, &argv);
/* find out process rank */
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
/* find out number of processes */
MPI_Comm_size(MPI_COMM_WORLD, &p);
printf("\nEnter the number of random points to generate: ");
scanf("%ld", &N);
if (my_rank == 0) {
}
/* shut down MPI */
MPI_Finalize();
return 0;
}
【问题讨论】:
-
那么,如果删除 MPI 调用会发生什么?
-
问题已通过刷新标准输出解决。不知道为什么会导致问题。
标签: c parallel-processing mpi