OpenMPIドキュメントから:C++構文
Request Comm::Irecv(void* buf, int count, const Datatype&
datatype, int source, int tag) const
だから私は次のようなことをすると思います:
MPI::Request req;
req = MPI_Irecv(&ballChallenges[i], 2, MPI_INT, i, TAG_AT_BALL, MPI_COMM_WORLD);
しかし、それは不平を言います:
error: too few arguments to function ‘int MPI_Irecv(void*, int, MPI_Datatype, int, int, MPI_Comm, ompi_request_t**)’
私が行方不明ompi_request_t**
になっているようですが、文書化されていませんか?試してみました
MPI_Irecv(&ballChallenges[i], 2, MPI_INT, i, TAG_AT_BALL, MPI_COMM_WORLD, &req);
しかし、失敗します
error: cannot convert ‘MPI::Request*’ to ‘ompi_request_t**’ for argument ‘7’ to ‘int MPI_Irecv(void*, int, MPI_Datatype, int, int, MPI_Comm, ompi_request_t**)’
では、そのompi_request_t
部分はどうですか?