Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-01-11 15:13:10


George --

Why would the request ID numbers change after the invocation to the
back-end MPI_Startall()? The request ID numbers were allocated when
the requests were created, so there's no reason that MPI_Startall()
should change them -- hence, there's no need to re-assign the same
values back to the fortran array after the C call.

Specifically: the requests are not INOUT parameters. Unless I'm
missing something, this commit should be backed out -- the problem
that Tim Campbell is running into must be something else.

Did we get his test program?

On Jan 11, 2007, at 3:39 AM, bosilca_at_[hidden] wrote:

> Author: bosilca
> Date: 2007-01-11 03:39:42 EST (Thu, 11 Jan 2007)
> New Revision: 13079
>
> Modified:
> trunk/ompi/mpi/f77/startall_f.c
>
> Log:
> Once we start the C requests we have to put back their f_to_c index
> in the fortran array, as we might get new C requests from the startall
> function.
>
>
> Modified: trunk/ompi/mpi/f77/startall_f.c
> ======================================================================
> ========
> --- trunk/ompi/mpi/f77/startall_f.c (original)
> +++ trunk/ompi/mpi/f77/startall_f.c 2007-01-11 03:39:42 EST (Thu,
> 11 Jan 2007)
> @@ -75,10 +75,13 @@
> return;
> }
>
> - for (i = 0; i < *count; i++) {
> + for(i = 0; i < *count; i++ ) {
> c_req[i] = MPI_Request_f2c(array_of_requests[i]);
> }
>
> *ierr = OMPI_INT_2_FINT(MPI_Startall(OMPI_FINT_2_INT(*count),
> c_req));
> + for( i = 0; i < *count; i++ ) {
> + array_of_requests[i] = MPI_Request_c2f(c_req[i]);
> + }
> free(c_req);
> }
> _______________________________________________
> svn-full mailing list
> svn-full_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full

-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems