我可以将不同的MPI_Irecv写入不同索引位置的相同缓冲区/数组吗?

时间:2011-04-11 11:10:50

标签: c arrays mpi nonblocking

MPI_IRecv(&myArr[0], 5, MPI_INT, 1, MPI_ANY_TAG, MPI_COMM_WORLD, request);
MPI_IRecv(&myArr[5], 5, MPI_INT, 2, MPI_ANY_TAG, MPI_COMM_WORLD, request);
MPI_IRecv(&myArr[10], 5, MPI_INT, 3, MPI_ANY_TAG, MPI_COMM_WORLD, request);

嗨,c / mpi是否允许您从mpi非阻塞接收中写入同一阵列的不同区域?上面的代码大致显示了我想要实现的目标。

1 个答案:

答案 0 :(得分:3)

是。在通信完成之前,不允许您读取或修改非阻塞通信请求的缓冲区;但就MPI而言,同一阵列的非重叠区域是完全不同的缓冲区。

相关问题