MPI_Wait 使简单程序崩溃
MPI_Wait crashes simple program
我用 MPI 写了一个简单的程序,它在调用 MPI_Wait
:
后崩溃了
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Request request;
double test = 0;
if (rank == 0) {
MPI_Isend(&test, 1, MPI_DOUBLE, 1, 2, MPI_COMM_WORLD, &request);
} else {
MPI_Irecv(&test, 1, MPI_DOUBLE, 0, 2, MPI_COMM_WORLD, &request);
MPI_Wait(&request, NULL);
}
我多次忽略了代码,但无法理解程序崩溃的原因。
我正在使用 Visual Studio 2010.
我认为您需要使用 MPI_STATUS_IGNORE 而不是 NULL。
免责声明:我从未使用过这个库。
https://www.mpi-forum.org/docs/mpi-2.0/mpi-20-html/node47.htm
我用 MPI 写了一个简单的程序,它在调用 MPI_Wait
:
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Request request;
double test = 0;
if (rank == 0) {
MPI_Isend(&test, 1, MPI_DOUBLE, 1, 2, MPI_COMM_WORLD, &request);
} else {
MPI_Irecv(&test, 1, MPI_DOUBLE, 0, 2, MPI_COMM_WORLD, &request);
MPI_Wait(&request, NULL);
}
我多次忽略了代码,但无法理解程序崩溃的原因。
我正在使用 Visual Studio 2010.
我认为您需要使用 MPI_STATUS_IGNORE 而不是 NULL。 免责声明:我从未使用过这个库。
https://www.mpi-forum.org/docs/mpi-2.0/mpi-20-html/node47.htm