Noted in https://svn.open-mpi.org/trac/ompi/ticket/3218#comment:4.
On Aug 14, 2012, at 11:10 AM, Barrett, Brian W wrote: > On 8/14/12 8:30 AM, "Jeff Squyres" <jsquy...@cisco.com> wrote: > >> On Aug 14, 2012, at 10:04 AM, Barrett, Brian W wrote: >> >>> That's incorrect. Fortran statuses should never be passed to C >>> interfaces. If you look at testany_f.c, for example, a temporary status >>> is created and then passed to the C binding >> >> I think the issue is that there is a mix of both styles. Look at >> recv_f.c, for example -- in some cases, we pass the Fortran integer array >> (if the sizes are equal), and in other cases, we use a temp C MPI_Status. > > Sounds like a Fortran problem to me ;). > > >>> (although, in this case, it >>> would probably be more efficient to pass it directly to >>> ompi_request_testany(), but that's not important here). >> >> Probably so. No one has undertaken an effort to have the mpif.h >> interfaces directly call the back-end OMPI functions (vs. the MPI >> functions). It might be worthwhile if someone has an intern / student >> and wants to come up to speed on OMPI internals -- e.g., they could at >> least remove some of the calls to MPI functions from performance-critical >> mpif.h functions (e.g., MPI_Send, MPI_Recv, ...etc.). >> >>> The part that is >>> important is that outside of the Fortran interfaces themselves, requests >>> are always C requests. >> >> George and Eugene came to similar conclusions on >> https://svn.open-mpi.org/trac/ompi/ticket/3218. >> >> However, there is a downside (as Eugene pointed out): with the C >> bindings, we usually (always?) end up copying the status once (from the >> back-end request to the user-specified status). If we go the >> use-a-C-MPI_Status route in for the mpif.h bindings, then we'll end up >> copying the status twice (back-end request -> temp C MPI_Status -> >> fortran INTEGER array). > > I agree, although I'd prefer that over a bunch of macros in the MCA code, > particularly OB1. > > Brian > > -- > Brian W. Barrett > Dept. 1423: Scalable System Software > Sandia National Laboratories > > > > > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/