[MPIWG Fortran] Type of MPI_Status

Rolf Rabenseifner rabenseifner at hlrs.de
Thu Mar 13 10:56:19 CDT 2014


Jeff is right.
Bill's theoretical statement is also correct.

And ticket#415 is also correct because it resolves an inconsistency
within the mpi_f08 interface.

Strange theoretical discussions are also there for
long Fortran INTEGER may not be identical with some shorter INTEGER(C_int).
As a side effect also solved by this ticket.

Rolf

----- Original Message -----
> From: "Jeff Hammond" <jeff.science at gmail.com>
> To: "MPI-WG Fortran working group" mpi-forum.org>
> Sent: Thursday, March 13, 2014 4:12:56 PM
> Subject: Re: [MPIWG Fortran] Type of MPI_Status
> 
> MPI should test for interoperability of Fortran's default integer and
> light the machine room on fire if it is not.
> 
> Jeff
> 
> On Thu, Mar 13, 2014 at 8:58 AM, Bill Long <longb at cray.com> wrote:
> > This does raise an earlier issue that it is 
> > possible that Fortran’s default INTEGER is not an interoperable
> > type, and thus the MPI_Status type should not be a BIND(C) type if
> > it has INTEGER components.  Having BIND(C) does allow you to
> > declare a C global name MPI_STATUS_IGNORE in Fortran, which solves
> > one problem nicely.  I don’t see any advantage to having INTEGER
> > components (as opposed to INTEGER(C_Int), for example). So this
> > seems to represent the worse of the two options.
> >
> > Cheers,
> > Bill
> >
> >
> >
> > On Mar 13, 2014, at 8:36 AM, Jeff Squyres (jsquyres)
> > <jsquyres at cisco.com> wrote:
> >
> >> Done.  Good catch:
> >>
> >>    https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/415
> >>
> >> This is a trivial ticket, but if you could make sure it's ok, I'll
> >> send it to the mpi-forum list so that it can get added to the
> >> next meeting's agenda.
> >>
> >>
> >> On Mar 13, 2014, at 1:51 AM, Rolf Rabenseifner
> >> <rabenseifner at hlrs.de> wrote:
> >>
> >>> Jeff and Junchao,
> >>>
> >>> it is a missing word INTEGER in this part of the sentence
> >>>
> >>> In whole MPI these three values are in Fortran INTEGER and
> >>> nothing else
> >>>
> >>> Junchao, thank you for the hint that an erratum is neede
> >>>        to prevent from such misinterpretation
> >>>
> >>> Jeff, please can you file the errata ticket resulting in
> >>>
> >>>   ... containing three public INTEGER fields named ...
> >>>
> >>> Best regards
> >>> Rolf
> >>>
> >>>
> >>> ----- Original Message -----
> >>>> From: "Junchao Zhang" <jczhang at mcs.anl.gov>
> >>>> To: "MPI-WG Fortran working group"
> >>>> mpi-forum.org>
> >>>> Sent: Thursday, March 13, 2014 4:49:49 AM
> >>>> Subject: [MPIWG Fortran] Type of MPI_Status
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Hello,
> >>>>
> >>>>
> >>>> p30 of MPI3 says "In Fortran with USE mpi or INCLUDE ’mpif.h’,
> >>>> status
> >>>> is an array of INTEGERs of size MPI_STATUS_SIZE. ..., With
> >>>> Fortran
> >>>> USE mpi_f08, status is defined as the Fortran BIND(C) derived
> >>>> type
> >>>> TYPE(MPI_Status) containing three public fields named MPI_SOURCE
> >>>> ,
> >>>> MPI_TAG , and MPI_ERROR"
> >>>>
> >>>> In other words, it does't say type of the three public fields
> >>>> must be
> >>>> INTEGER. So, in mpi_f08, can I declare MPI_Status as
> >>>>
> >>>>
> >>>> TYPE, BIND(C) :: MPI_Status
> >>>> INTEGER(C_INT) :: MPI_SOURCE, MPI_TAG, MPI_ERROR
> >>>> ... ! other fields
> >>>> END TYPE MPI_Status
> >>>>
> >>>>
> >>>> I find it makes MPI_Status binding easier. Since this type is
> >>>> interoperable with C, I do not need to allocate temp variables
> >>>> to do
> >>>> type conversion when INTEGER is not a C_INT.
> >>>>
> >>>>
> >>>>
> >>>> --Junchao Zhang
> >>>> _______________________________________________
> >>>> mpiwg-fortran mailing list
> >>>> mpiwg-fortran at lists.mpi-forum.org
> >>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
> >>>
> >>> --
> >>> Dr. Rolf Rabenseifner . . . . . . . . . .. email
> >>> rabenseifner at hlrs.de
> >>> High Performance Computing Center (HLRS) . phone
> >>> ++49(0)711/685-65530
> >>> University of Stuttgart . . . . . . . . .. fax ++49(0)711 /
> >>> 685-65832
> >>> Head of Dpmt Parallel Computing . . .
> >>> www.hlrs.de/people/rabenseifner
> >>> Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room
> >>> 1.307)
> >>> _______________________________________________
> >>> mpiwg-fortran mailing list
> >>> mpiwg-fortran at lists.mpi-forum.org
> >>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
> >>
> >>
> >> --
> >> Jeff Squyres
> >> jsquyres at cisco.com
> >> For corporate legal information go to:
> >> http://www.cisco.com/web/about/doing_business/legal/cri/
> >>
> >> _______________________________________________
> >> mpiwg-fortran mailing list
> >> mpiwg-fortran at lists.mpi-forum.org
> >> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
> >
> > Bill Long
> >                                                                       longb at cray.com
> > Fortran Technical Suport  &                                  voice:
> >  651-605-9024
> > Bioinformatics Software Development                     fax:
> >  651-605-9142
> > Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN
> > 55101
> >
> >
> > _______________________________________________
> > mpiwg-fortran mailing list
> > mpiwg-fortran at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
> 
> 
> 
> --
> Jeff Hammond
> jeff.science at gmail.com
> _______________________________________________
> mpiwg-fortran mailing list
> mpiwg-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran

-- 
Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)



More information about the mpiwg-fortran mailing list