[Mpi-forum] Big Fortran hole in MPI-4.0 Embiggening

HOLMES Daniel d.holmes at epcc.ed.ac.uk
Sun Jan 10 07:44:06 CST 2021

Hi Rolf,

This is a (somewhat contrived, arguably) reason for taking another tiny step towards removing the “mpif.h” method of Fortran support and pushing users and implementations towards preferring the Fortran 2008 interface, which is a direction of travel that I fully support.

I think this might be seen as quite a big change for implementers, especially if it were to occur between the RCM and FRM.

Dr Daniel Holmes PhD
Architect (HPC Research)
d.holmes at epcc.ed.ac.uk<mailto:d.holmes at epcc.ed.ac.uk>
Phone: +44 (0) 131 651 3465
Mobile: +44 (0) 7940 524 088
Address: Room 2.09, Bayes Centre, 47 Potterrow, Central Area, Edinburgh, EH8 9BT
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.

On 10 Jan 2021, at 12:22, Rolf Rabenseifner via mpi-forum <mpi-forum at lists.mpi-forum.org<mailto:mpi-forum at lists.mpi-forum.org>> wrote:

This email was sent to you by someone outside the University.
You should only click on links or attachments if you are certain that the email is genuine and the content is safe.

Dear MPI-Forum members,

MPI-3.1 and MPI-4.0 includes the following rule on top of the 2nd page
of the Language Binding chapter:

| MPI implementations providing a Fortran interface must provide
| one or both of the following:
| - The USE mpi_f08 Fortran support method.
| - The USE mpi and INCLUDE 'mpif.h' Fortran support methods.

The embiggening was included only in the C and mpi_f08 bindings.

Most implementors nowadays provide all three MPI Fortran support methods,
i.e., the mpi_f08 and the mpi module and mpif.h.

For all MPI-3.1 libraries that provide all three MPI Fortran support methods,
the most easiest and fastest way to provide MPI-4.0 for C and Fortran is,
- to implement the embiggening for C,
- and to remove the mpi_f08 module,
- and maybe months or years later, to provide mpi_f08 again, now embiggened.

This implementation path (by removing mpi_f08 from MPI-3.1 and to name
it MPI-4.0 without Fortran embiggening) was of course never intended,
when we decided to require the embiggened routines only for mpi_f08.
The goal was
- to not require additional work from the implementors for the old mpi module
- convince the users that it is a good idea to make a transition
  to mpi_f08.

The most simplest way to resolve this problem would be to require
mpi_f08 for MPI-4.0, i.e., to change the text to

| MPI implementations providing a Fortran interface
| - must provide the USE mpi_f08 Fortran support method,
| - and additionally may provide both,
|   the USE mpi and INCLUDE 'mpif.h' Fortran support methods.

What is your opinion?

I expect that we should discuss this next Wednesday at our MPI Forum telcon.

Best regards

Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de<mailto: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<http://www.hlrs.de/people/rabenseifner> .
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .
mpi-forum mailing list
mpi-forum at lists.mpi-forum.org<mailto:mpi-forum at lists.mpi-forum.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpi-forum/attachments/20210110/698a909d/attachment-0001.html>

More information about the mpi-forum mailing list