[MPIWG Fortran] Type of MPI_Status

Jeff Hammond jeff.science at gmail.com
Thu Mar 13 10:12:56 CDT 2014


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 <very remotely> 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" <mpiwg-fortran at lists.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



More information about the mpiwg-fortran mailing list