Thanks. Where can one find the proposed MPI F08 bindings and the prototype implementation you mentioned? -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Jeff Squyres Sent: Wednesday, May 26, 2010 6:21 PM To: MPI-3 Fortran WG Subject: [MPI3 Fortran] MPI_STATUS_IGNORE (and friends) Craig and I have been working on a prototype implementation of the proposed MPI F08 bindings. It has been tremendously helpful to keep the proposal ideas on track with what is possible, what is useful, etc. One of the things that we would like to change from the current proposal is to remove the sentinel value constants MPI_STATUS_IGNORE and MPI_STATUSES_IGNORE (and a few others that are similar in spirit). MPI status structs are usually allocated and passed by the application down to an MPI function; the MPI implementation then fills up that struct. However, the app can pass MPI_STATUS_IGNORE (or MPI_STATUSES_IGNORE in an array context) to indicate that they don't care about the status and don't want the MPI implementation to fill it (them). Just like the C++ bindings, instead of having these constants in the F08 bindings, we propose to have overloaded functions that simply do not have a status parameter. For example: ----- interface MPI_Test ! Note the "status" parameter here subroutine MPI_Test_wrapper(request, completed, status, err) type(MPI_Request), intent(inout) :: request logical, intent(out) :: completed type(MPI_Status), intent(out) :: status integer, optional, intent(out) :: err end subroutine ! Note the LACK of "status" parameter here subroutine MPI_Test_ignore_wrapper(request, completed, err) type(MPI_Request), intent(inout) :: request logical, intent(out) :: completed integer, optional, intent(out) :: err end subroutine end interface ----- Just like C++, this seems like the "natural" way to do it in the language. It also keeps a 1:1 mapping to the MPI language neutral bindings and is therefore not a radical departure from the MPI specification. Indeed, the C++ bindings established a precedent for this exact case (there are 2 C++ bindings for MPI::Test, for example -- one with a status argument and one without). Thoughts? -- Jeff Squyres [email protected] For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ _______________________________________________ mpi3-fortran mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran --------------------------------------------------------------------- Intel GmbH Dornacher Strasse 1 85622 Feldkirchen/Muenchen Germany Sitz der Gesellschaft: Feldkirchen bei Muenchen Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer Registergericht: Muenchen HRB 47456 Ust.-IdNr. VAT Registration No.: DE129385895 Citibank Frankfurt (BLZ 502 109 00) 600119052 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.