[MPIWG Fortran] Provide Fortran datatypes if Fortran bindings not provided?

Jeff Squyres (jsquyres) jsquyres at cisco.com
Thu Feb 18 11:52:33 CST 2016


This is a fair point.

However, I thought we got a very loud and clear response from the Fortran developer community that they wanted "native" MPI support -- not ISO_C_BINDING-flavored MPI support.

Isn't that the reason we created the mpi_f08 module (vs. making sure that all MPI functionality was usable via ISO_C_BINDING from Fortran)?


-----Original Message-----
From: Bill Long <longb at cray.com>
Reply: MPI-WG Fortran working group <mpiwg-fortran at lists.mpi-forum.org>
Date: February 18, 2016 at 11:51:01 AM
To: MPI-WG Fortran working group <mpiwg-fortran at lists.mpi-forum.org>
Subject:  Re: [MPIWG Fortran] Provide Fortran datatypes if Fortran	bindings	not provided?

>  
> On Feb 18, 2016, at 9:10 AM, Jeff Hammond wrote:
>  
> >
> > Alternatively, the Fortran processes can use ISO_C_BINDING and convert to C datatypes  
> before sending. Since we have standardized the use of Fortran 2008 in MPI-3, there is  
> absolutely no reason why this should not be the recommended practice, because it is completely  
> reliable and well-defined.
>  
> I was tempted to go this direction in my initial reply, but resisted. However, with Jeff  
> opening the door….
>  
> I think the long term solution is to put thin Fortran wrappers in the mpi_f08 and mpi modules,  
> which use the C interoperability in Fortran to call directly the C library routines.  
> Eliminate mpif.h, the C-written wrappers designed to be called by “legacy” Fortran,  
> and the Fortran tools interface. This has the advantages of
>  
> (1) The tools developers only have to worry about the C interface,
> (2) Execution overhead in the call chain is reduced,
> (3) The MPI spec is simplified,
> (4) Maintenance of implementations is simplified, and
> (5) We can finally admit that MPI is a C library.
>  
> The interoperability features in Fortran were designed to allow Fortran procedures  
> to call C library routines directly. We can hide this in the modules so that current codes  
> do not have to be rewritten.
>  
> Of course, this is not a new suggestion (at least from me), but it seems worth posting a  
> reminder when a relevant issue comes up.
>  
> Cheers,
> Bill
>  
> Bill Long longb at cray.com
> Fortran Technical Support & 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 Squyres
jsquyres at cisco.com  
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/


More information about the mpiwg-fortran mailing list