使用MPI_IN_PLACE时MPI_Ineighbor_alltoall错误

时间:2018-08-06 19:01:24

标签: parallel-processing mpi in-place

MPI_Ineighbor_alltoall是否支持MPI_IN_PLACE,还是函数调用有问题? https://www.open-mpi.org/doc/v2.0/man3/MPI_Neighbor_alltoall.3.php说不支持MPI_IN_PLACE发送吗?难道这意味着它也不支持接收吗?

如果我将接收缓冲区切换为MPI_IN_PLACE,则代码会中断

ierr = MPI_Ineighbor_alltoall( &P( 0 ), P.chunkSize, MPI_DOUBLE, &R(0),        P.chunkSize, MPI_DOUBLE, nbrComm[0], &request );

ierr = MPI_Ineighbor_alltoall( &P( 0 ), P.chunkSize, MPI_DOUBLE, MPI_IN_PLACE, P.chunkSize, MPI_DOUBLE, nbrComm[0], &request );

,出现以下错误

*** An error occurred in MPI_Ineighbor_alltoall
*** reported by process [3809738753,4575480487799160832]
*** on communicator MPI_COMM_WORLD
*** MPI_ERR_ARG: invalid argument of some other kind
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
***    and potentially your MPI job)

0 个答案:

没有答案