[mpich-discuss] Overwriting mpi_waitany_
Rajeev Thakur
thakur at mcs.anl.gov
Wed Mar 5 14:45:04 CST 2014
The C function returns the index with a 0 base. You have to add one to it to return the value in Fortran. See the last line of the Fortran binding for Waitany in MPICH.
Rajeev
On Mar 5, 2014, at 1:42 PM, Matthieu Dorier <matthieu.dorier at irisa.fr>
wrote:
> Hi,
>
> I'm trying to overwrite the weak symbol mpi_waitany_ (fortran symbol), but I get an error (the function doesn't seem to work since it returns an index of 0).
> Here is my code, any idea why it doesn't work?
>
> void mpi_waitany_(MPI_Fint* count, MPI_Fint* array_of_requests,
> MPI_Fint* index, MPI_Fint* status, MPI_Fint* err)
> {
> MPI_Status cstatus;
> MPI_Status_f2c(status, &cstatus);
> MPI_Request* c_req = (MPI_Request*)malloc(sizeof(MPI_Request)*(*count));
> int i;
> for(i=0;i<*count;i++) {
> c_req[i] = MPI_Request_f2c(array_of_requests[i]);
> }
> *err = PMPI_Waitany(*count,c_req,index,&cstatus);
> MPI_Status_c2f(&cstatus, status);
> for(i=0;i<*count;i++) {
> array_of_requests[i] = MPI_Request_c2f(c_req[i]);
> }
> free(c_req);
> }
>
> Thanks!
>
> Matthieu Dorier
> PhD student at ENS Rennes
> http://people.irisa.fr/Matthieu.Dorier
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
More information about the discuss
mailing list