MPI_Wait崩溃了简单的程序

时间:2016-05-14 18:06:02

标签: c++ mpi

我用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。

1 个答案:

答案 0 :(得分:2)

我认为你需要使用MPI_STATUS_IGNORE而不是NULL。 免责声明:我从未使用过此库。

https://www.mpi-forum.org/docs/mpi-2.0/mpi-20-html/node47.htm