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 <[email protected]> Reply: MPI-WG Fortran working group <[email protected]> Date: February 18, 2016 at 11:51:01 AM To: MPI-WG Fortran working group <[email protected]> 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 [email protected] 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 [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
-- Jeff Squyres [email protected] For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/