<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:104036069;
        mso-list-type:hybrid;
        mso-list-template-ids:-728444782 -1946752944 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Sorry for my original confusing subject, but I think I like the disturbance it raised and we are getting clarifications as we discuss.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For the application code, it only concerns with two points (correct me if I am off)<o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">INCLUDE ‘mpif.h’<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">The compiler will be able to link to `-lmpifort`<o:p></o:p></li></ul>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Shout, if the above miss anything from an application/legacy code point of view.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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
<span style="font-family:"Apple Color Emoji"">😊</span>.  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 *<b>internal</b>* Fortran support and potentially offer a more robust Fortran support .<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">-- <br>
Hui Zhou<o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Gus Correa via discuss <discuss@mpich.org><br>
<b>Date: </b>Wednesday, January 27, 2021 at 10:55 AM<br>
<b>To: </b>MPICH-Discuss <discuss@mpich.org><br>
<b>Cc: </b>Gus Correa <gus@ldeo.columbia.edu><br>
<b>Subject: </b>Re: [mpich-discuss] Is it okay to remove F77 support?<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">On Wed, Jan 27, 2021 at 9:45 AM Raffenetti, Kenneth J. <<a href="mailto:raffenet@mcs.anl.gov">raffenet@mcs.anl.gov</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
On 1/26/21, 9:10 PM, "Gus Correa via discuss" <<a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a>> wrote:<br>
<br>
    Is it okay to remove F77 support?<br>
    No, NO, NO!!!! NO!<br>
<br>
<br>
    Removing the support to Fortran 77 from MPI is a disastrous idea!<br>
    Sorry to say, but it is really stupid to suppose that only because compilers support F90
<br>
    that you can remove F77 support from MPI.<br>
    A lot of people, academic institutions, and probably industry, continue to use,<br>
    and develop new code in F77.<br>
<br>
    What matters is if the CODE is written in Fortran 90 or in Fortran 77,<br>
    and whether it uses the Fortran 77 MPI API or the Fortran 90 MPI API,<br>
    not whether the compiler supports Fortran 90 (and yes, if not all, do).<br>
<br>
<br>
    There is an enormous Fortran 77 code base, written using MPI, and that is not likely to change for the foreseeable future.<br>
    That is true in the Atmospheric/Climate/Ocean sciences, where I work,  <br>
<br>
    but would guess this is true in other areas of science as well.<br>
    Just one example: The MITgcm, which has an huge community of users, <br>
<br>
    is the backbone for many research projects, supports many PhD thesis,<br>
    is 100% written in Fortran-77 and will not be changed anytime soon,<br>
    as there is no financial support to do that.<br>
<br>
    Also, this type of inquiry to the MPICH community is way too narrow.<br>
    I don't think you should be using emails on a mailing list to base such a consequential decision.<br>
    Argonne should know better which community it supports, which codes out there use MPI.<br>
<br>
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.<br>
<br>
Thanks,<br>
Ken<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Well, then the question was very poorly formulated.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">It suggests suppressing the Mpich Fortran-77 API.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Hard to gauge the impact of removing support of F77 compiler (ONLY),<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">but it may cause trouble when building complex code,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">and linking it to MPI (mpich),<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">as some may actually require a compiler that is specific for Fortran-77,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">or have Makefiles and other utilities that rely on such a compiler.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Gus Correa<o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>