[mpich-discuss] Is it okay to remove F77 support?

Zhou, Hui zhouh at anl.gov
Wed Jan 27 12:10:42 CST 2021


Sorry for my original confusing subject, but I think I like the disturbance it raised and we are getting clarifications as we discuss.

There are two separate aspects, what means to MPI application/users and what means to build MPICH. My question was aimed at the latter aspect, but I think we should address the first aspect as well.

For the application code, it only concerns with two points (correct me if I am off)

  *   INCLUDE ‘mpif.h’
  *   The compiler will be able to link to `-lmpifort`
None of these two will change. `mpif.h` in MPICH, which just defines constants, will not use any syntax beyond what – lack of better terms, `g77` -- would accept. As for the linking, as long as the same or compatible Fortran compiler is used as the one used to build MPICH, the linking is guaranteed by the compiler.

Shout, if the above miss anything from an application/legacy code point of view.

The second aspect is all about building MPICH. The interest is to drop support for any non-common Fortran compilers that some system may use. You use F77 doesn’t mean we have to use F77 as long as we support you keep using F77 😊.  If we assume all Fortran compilers that our users will use are able to build code with Fortran 90 at least, then we can simply take the assumptions of Fortran 90 and remove some of the legacy detection and work-around measures, merge our *internal* Fortran support and potentially offer a more robust Fortran support .

--
Hui Zhou


From: Gus Correa via discuss <discuss at mpich.org>
Date: Wednesday, January 27, 2021 at 10:55 AM
To: MPICH-Discuss <discuss at mpich.org>
Cc: Gus Correa <gus at ldeo.columbia.edu>
Subject: Re: [mpich-discuss] Is it okay to remove F77 support?


On Wed, Jan 27, 2021 at 9:45 AM Raffenetti, Kenneth J. <raffenet at mcs.anl.gov<mailto:raffenet at mcs.anl.gov>> wrote:
On 1/26/21, 9:10 PM, "Gus Correa via discuss" <discuss at mpich.org<mailto:discuss at mpich.org>> wrote:

    Is it okay to remove F77 support?
    No, NO, NO!!!! NO!


    Removing the support to Fortran 77 from MPI is a disastrous idea!
    Sorry to say, but it is really stupid to suppose that only because compilers support F90
    that you can remove F77 support from MPI.
    A lot of people, academic institutions, and probably industry, continue to use,
    and develop new code in F77.

    What matters is if the CODE is written in Fortran 90 or in Fortran 77,
    and whether it uses the Fortran 77 MPI API or the Fortran 90 MPI API,
    not whether the compiler supports Fortran 90 (and yes, if not all, do).


    There is an enormous Fortran 77 code base, written using MPI, and that is not likely to change for the foreseeable future.
    That is true in the Atmospheric/Climate/Ocean sciences, where I work,

    but would guess this is true in other areas of science as well.
    Just one example: The MITgcm, which has an huge community of users,

    is the backbone for many research projects, supports many PhD thesis,
    is 100% written in Fortran-77 and will not be changed anytime soon,
    as there is no financial support to do that.

    Also, this type of inquiry to the MPICH community is way too narrow.
    I don't think you should be using emails on a mailing list to base such a consequential decision.
    Argonne should know better which community it supports, which codes out there use MPI.

I think there is some misunderstanding of the question here. The MPICH team is asking if it would be OK to drop support for building MPICH with an F77 only compiler. MPICH will still support all standard Fortran language bindings: mpif.h, use mpi, and use mpi_f08. Does the code you speak of not build with modern Fortran compilers? If so, that is the kind of feedback we are looking for.

Thanks,
Ken

Well, then the question was very poorly formulated.
It suggests suppressing the Mpich Fortran-77 API.

Hard to gauge the impact of removing support of F77 compiler (ONLY),
but it may cause trouble when building complex code,
and linking it to MPI (mpich),
as some may actually require a compiler that is specific for Fortran-77,
or have Makefiles and other utilities that rely on such a compiler.

Gus Correa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20210127/54c0adc7/attachment.html>


More information about the discuss mailing list