[MPI3 Fortran] MPI_STATUS_IGNORE (and friends)

Rasmussen, Craig crasmussen at newmexicoconsortium.org
Wed May 26 11:49:27 CDT 2010


There is some text on the wiki (off from the mpi-forum).  It needs to be
updated as it is a little out of date now.  The code is a mercurial
repository at http://bitbucket.org/jsquyres/mpi3-fortran (rapidly changing
this week).

-craig

On Wed, May 26, 2010 at 10:41 AM, Supalov, Alexander <
alexander.supalov at intel.com> wrote:

> Thanks. Where can one find the proposed MPI F08 bindings and the prototype
> implementation you mentioned?
>
> -----Original Message-----
> From: mpi3-fortran-bounces at lists.mpi-forum.org [mailto:
> mpi3-fortran-bounces at lists.mpi-forum.org] 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
> jsquyres at cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> mpi3-fortran mailing list
> mpi3-fortran at lists.mpi-forum.org
> 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.
>
>
> _______________________________________________
> mpi3-fortran mailing list
> mpi3-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-fortran/attachments/20100526/0e77f17d/attachment-0001.html>


More information about the mpiwg-fortran mailing list