[MPIWG Fortran] What is BIND(C)?

Bill Long longb at cray.com
Wed Feb 5 15:36:41 CST 2014


Before the TS, the concept of ASYNCHRONOUS applied only to I/O. Asynchronous use of a variable started with a READ or WRITE statement and completed with a WAIT statement. The TS extended that idea to “asynchronous communication” that could also include the effects of non-Fortran procedures (specifically like MPI_Ixxx routines).

Cheers,
Bill



On Feb 5, 2014, at 2:57 PM, Dan Pou <danielp at sgi.com> wrote:

> Could you give some background/details on the "new" meaning
> ASYNCHRONOUS?  I thought Intel ifort had support?
> 
> Thanks,
> -Dan
> 
> On Wed, Feb 05, 2014 at 07:19:16PM +0000, Jeff Squyres (jsquyres) wrote:
>> Not AFAIK.  But we use the pragmas for ignore TKR.
>> 
>> I guess I could have been more clear: OMPI will build the mpi_f08 module if it finds "enough" F08 characteristics supported in the Fortran compiler, but it may strip away some features if the compiler doesn't support them.  For example, with current ifort, you'll basically get everything except the "new" meaning of asynchronous and descriptors (we'll use ignore TKR pragmas instead) -- so the SUBARRAYS value will be .false.
>> 
>> The new gfortran functionality will be in the upcoming gcc/gfortran v4.9 (which isn't released yet).
>> 
>> 
>> On Feb 5, 2014, at 1:26 PM, Craig Rasmussen <rasmus at cas.uoregon.edu> wrote:
>> 
>>> I don't think Intel does yet (but actually I will check).  Intel supports the IGNORE_TKR and so Jeff is using the Intel compiler with compiler directives to support MPI-3.
>>> 
>>> Surprisingly, the latest gfortran supports type(*) and dimension(..) partially, as in it will act like IGNORE_TKR (I think) but actually doesn't pass the new C descriptors yet.
>>> 
>>> Craig Rasmussen
>>> CAS Scientific Programmer
>>> rasmus at cas.uoregon.edu
>>> 
>>> 
>>> 
>>> 
>>> On Feb 5, 2014, at 10:11 AM, Bill Long wrote:
>>> 
>>>> 
>>>> On Feb 5, 2014, at 12:02 PM, Jeff Squyres (jsquyres) <jsquyres at cisco.com> wrote:
>>>> 
>>>>> ...but be careful.  We didn't get rid of *all* the BIND(C)'s.
>>>>> 
>>>>> If you care, the most recent OMPI 1.7 and SVN trunk nightly tarballs have the most correct/most-bug-fixed implementation of the mpi_f08 module available (soon to be released as OMPI 1.7.4).  You'll need to build with a non-gfortran compiler to get the mpi_f08 module built (e.g., the Intel fortran compiler).
>>>> 
>>>> Really?  Intel supports type(*) and dimension(..) now?  
>>>> 
>>>> Cheers,
>>>> Bill
>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> On Feb 5, 2014, at 12:46 PM, Rolf Rabenseifner <rabenseifner at hlrs.de> wrote:
>>>>> 
>>>>>> Hello,
>>>>>> 
>>>>>> The BIND(C) was removed in the latest errata,
>>>>>> see
>>>>>> http://www.mpi-forum.org/docs/docs.html
>>>>>> and
>>>>>> http://www.mpi-forum.org/docs/mpi-3.0/errata-30.pdf
>>>>>> page 1 lines 21-27
>>>>>> 
>>>>>> Best regards
>>>>>> Rolf Rabenseifner
>>>>>> 
>>>>>> ----- Original Message -----
>>>>>>> From: "Junchao Zhang" <jczhang at mcs.anl.gov>
>>>>>>> To: mpiwg-fortran at lists.mpi-forum.org
>>>>>>> Sent: Wednesday, February 5, 2014 6:42:28 PM
>>>>>>> Subject: [MPIWG Fortran] What is BIND(C)?
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> Hello,
>>>>>>> I have a naive question. MPI3 has Fortran binding in forms like
>>>>>>> this:
>>>>>>> 
>>>>>>> 
>>>>>>>    MPI_Send(buf, count, datatype, dest, tag, comm, ierror) BIND(C)
>>>>>>>       TYPE(*), DIMENSION(..), INTENT(IN) :: buf
>>>>>>>        INTEGER, INTENT(IN) :: count, dest, tag
>>>>>>>        ...
>>>>>>> 
>>>>>>> 
>>>>>>> So how to interpret BIND(C) here?  Is it to say this interface is
>>>>>>> interoperable with C? But I find the interface arguments are not
>>>>>>> interoperable, e.g., INTEGER, instead of C_INT.
>>>>>>> Thank you.
>>>>>>> 
>>>>>>> --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
>>> 
>>> _______________________________________________
>>> 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
> _______________________________________________
> 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





More information about the mpiwg-fortran mailing list