20 return MPI_Init(argc,argv);
25 return MPI_Finalize();
30 return MPI_Buffer_attach(buffer,
37 return MPI_Buffer_detach(buffer,
55 )) MPI_Abort(comm, MPI_ERR_ARG);
84 )) MPI_Abort(comm, MPI_ERR_ARG);
108 )) MPI_Abort(comm, MPI_ERR_ARG);
109 return MPI_Isend(buf,
115 #ifdef AMPI_FORTRANCOMPATIBLE
141 )) MPI_Abort(comm, MPI_ERR_ARG);
142 return MPI_Irecv(buf,
148 #ifdef AMPI_FORTRANCOMPATIBLE
167 )) MPI_Abort(comm, MPI_ERR_ARG);
168 return MPI_Bsend(buf,
187 )) MPI_Abort(comm, MPI_ERR_ARG);
188 return MPI_Rsend(buf,
201 return MPI_Bcast(buf,
219 return MPI_Reduce(sbuf,
234 return MPI_Allreduce(sbuf,
243 MPI_Status *status) {
245 #ifdef AMPI_FORTRANCOMPATIBLE
255 MPI_Status statuses[]) {
256 #ifndef AMPI_FORTRANCOMPATIBLE
259 MPI_Request * origRequests=(MPI_Request*)malloc(count*
sizeof(MPI_Request));
260 assert(origRequests);
261 for (i=0;i<
count;++i) origRequests[i]=requests[i].plainRequest;
263 return MPI_Waitall(count,
264 #ifdef AMPI_FORTRANCOMPATIBLE
274 MPI_Status statuses[]) {
279 return MPI_Barrier(comm);
284 MPI_Datatype sendtype,
287 MPI_Datatype recvtype,
290 return MPI_Gather(sendbuf,
302 MPI_Datatype sendtype,
305 MPI_Datatype recvtype,
308 return MPI_Scatter(sendbuf,
320 MPI_Datatype sendtype,
323 MPI_Datatype recvtype,
325 return MPI_Allgather(sendbuf,
336 MPI_Datatype sendtype,
340 MPI_Datatype recvtype,
343 return MPI_Gatherv(sendbuf,
357 MPI_Datatype sendtype,
360 MPI_Datatype recvtype,
361 int root, MPI_Comm
comm) {
362 return MPI_Scatterv(sendbuf,
375 MPI_Datatype sendtype,
379 MPI_Datatype recvtype,
381 return MPI_Allgatherv(sendbuf,