<html xmlns:v="urn:schemas-microsoft-com:vml" 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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Sprechblasentext Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.SprechblasentextZchn
        {mso-style-name:"Sprechblasentext Zchn";
        mso-style-priority:99;
        mso-style-link:Sprechblasentext;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:DE;}
span.E-MailFormatvorlage19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Dear Junchao,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">In another email of today to
<a href="mailto:discuss@mpich.org">discuss@mpich.org</a>  I attached  my sharedmemtest.f90  test program.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">At the end of that file I added a small sbr</span><span lang="EN-US" style="font-size:10.0pt;font-family:Consolas;color:#400040;mso-fareast-language:EN-US">
</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">check_ftn_bindings  .   It is for checking for missing explicit Ftn-interfaces in the mpi-module.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">If you activate the USE-stmts in that sbr, you will get this output at compile time (with MPICH-3.0.4 and INTEL-14.0.1 on a Linux-cluster):<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">rachner@master:~/dat> mpif90 sharedmemtest.f90<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">sharedmemtest.f90(246): error #6580: Name in only-list does not exist.   [MPI_FINALIZE]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">      use MYMPI, only:  MPI_INIT, MPI_BARRIER, MPI_FINALIZE      &   ! <-- MPI-2 routines<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">                -----------------------------------------------^<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">sharedmemtest.f90(249): error #6580: Name in only-list does not exist.   [MPI_WIN_ALLOCATE_SHARED]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">      use MYMPI, only:  MPI_WIN_ALLOCATE_SHARED, MPI_WIN_SHARED_QUERY, MPI_GET_LIBRARY_VERSION  ! <-- MPI-3 routines<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">   ------------------------^<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">sharedmemtest.f90(249): error #6580: Name in only-list does not exist.   [MPI_WIN_SHARED_QUERY]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">      use MYMPI, only:  MPI_WIN_ALLOCATE_SHARED, MPI_WIN_SHARED_QUERY, MPI_GET_LIBRARY_VERSION  ! <-- MPI-3 routines<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">                         -------------------------------------------------^<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">compilation aborted for sharedmemtest.f90 (code 1)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:red">rachner@master:~/dat><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">You can see, that also for sbr MPI_FINALIZE there is no explicit Ftn-interface in the mpi-module  (“use mpi”).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">(By the way: In our MPICH-3.0.4 implementation there exist no mpi_base.f90, only a  mpi_base.mod file.)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">It is a good investment in the future, that MPICH has provided explicit interfaces now for the mpi-f08 module.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">But: Do normal Ftn-compilers already support Ftn2008 features already sufficiently, so that we can actually use that mpi_f08 module?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">There is the problem, I think.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Have you tried, whether it works for the INTEL-Ftn-compiler?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">If it does not work, I suggest, you may contact INTEL, telling them, which Ftn08-feature are desirable but still missing in their Ftn95 compiler.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Greetings<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">   Michael Rachner<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Junchao Zhang [mailto:jczhang@mcs.anl.gov]
<br>
<b>Gesendet:</b> Freitag, 12. Dezember 2014 18:05<br>
<b>An:</b> <discuss@mpich.org><br>
<b>Betreff:</b> Re: [mpich-discuss] missing Fortran bindings in MPICH<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi, <span style="font-size:10.0pt">Michael,</span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt">  I checked and found MPI_FINALIZE did have an explicit interface, at least in MPICH-3.1.3. You can search the file </span>mpi_base.f90 in your MPICH build.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  We recently fixed the explicit interface problem in  MPI Fortran 2008 bindings.  You need to "use mpi_f08" in your code.  A paper on that is at
<a href="http://dl.acm.org/citation.cfm?id=2642777">http://dl.acm.org/citation.cfm?id=2642777</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  The new bindings are already included in MPICH-3.2a1. It requires Fortran2008 + TS29113 capable compilers, such as Cray ftn 8.3.3+ or gfortran-dev. If you'd like to have a try, I can instruct you how to do that.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">  Thanks. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt"> </span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">--Junchao Zhang<o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Fri, Dec 12, 2014 at 5:55 AM, <<a href="mailto:Michael.Rachner@dlr.de" target="_blank">Michael.Rachner@dlr.de</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal">Dear developers of MPICH,<br>
<br>
For your convenience, I forward the emails in mvapich-discuss  concerning the missing Fortran bindings.<br>
Possibly this I can encourage you  a bit, adding (as OPENMPI did it successfully)  the missing explicit Ftn-interfaces in the mpi-module<br>
for those MPI-routines with parameters of "Choice"-type?<br>
<br>
At least:  You may add the explicit Ftn-interface for the sbr  MPI_FINALIZE . It is missing in MPICH-3.0.4 too.<br>
<br>
Greetings<br>
  Michael Rachner<br>
<br>
<br>
<br>
<br>
<br>
<br>
-----Ursprüngliche Nachricht-----<br>
Von: mvapich-discuss [mailto:<a href="mailto:mvapich-discuss-bounces@cse.ohio-state.edu">mvapich-discuss-bounces@cse.ohio-state.edu</a>] Im Auftrag von
<a href="mailto:Michael.Rachner@dlr.de">Michael.Rachner@dlr.de</a><br>
Gesendet: Freitag, 12. Dezember 2014 12:38<br>
An: <a href="mailto:mvapich-discuss@cse.ohio-state.edu">mvapich-discuss@cse.ohio-state.edu</a><br>
Betreff: [mvapich-discuss] WG: WG: missing Fortran bindings in MVAPICH2-2.1a<br>
<br>
Sorry, I wanted to send my email not to Jonathan alone, but to the mvapich-discuss.<br>
  Michael<br>
<br>
<br>
<br>
-----Ursprüngliche Nachricht-----<br>
Von: Rachner, Michael<br>
Gesendet: Freitag, 12. Dezember 2014 10:03<br>
An: 'Jonathan Perkins'<br>
Betreff: AW: [mvapich-discuss] WG: missing Fortran bindings in MVAPICH2-2.1a<br>
<br>
Thank You, Jonathan, for this hint.<br>
Indeed, the problem with the missing explicit Ftn-interfaces in the mpi-module are  the arguments of "choice"-type.  Fortran 95 don't like them.<br>
So the MPI-3.0  Standard document contains a complicated chapter 17.1  with these things.<br>
As a consequence, MPICH seems to have chosen the slim way omitting in the mpi-module ("use mpi") the explicit Ftn-interfaces for MPI-routines with choice-type arguments, whereas OPENMPI has chosen the cumbercome way providing  the explicit Ftn-interfaces even
 for these MPI-routines. They succeeded.<br>
For details: In November there were some emails discussing this issue in the OPENMPI-forum.<br>
<br>
Greetings<br>
Michael Rachner<br>
<br>
<br>
-----Ursprüngliche Nachricht-----<br>
Von: Jonathan Perkins [mailto:<a href="mailto:perkinjo@cse.ohio-state.edu">perkinjo@cse.ohio-state.edu</a>]<br>
Gesendet: Donnerstag, 11. Dezember 2014 16:17<br>
An: Rachner, Michael<br>
Cc: <a href="mailto:mvapich-discuss@cse.ohio-state.edu">mvapich-discuss@cse.ohio-state.edu</a><br>
Betreff: Re: [mvapich-discuss] WG: missing Fortran bindings in MVAPICH2-2.1a<br>
<br>
Hello Michael.  My investigation turned up the same issue in MPICH-3.1.3.  MVAPICH2-2.1a is based on MPICH-3.1.2 so it inherits the same behavior.<br>
<br>
Here is a snippet from MPICH's user guide:<br>
<br>
    4.2 Special Issues for Fortran<br>
<br>
    MPICH provides two kinds of support for Fortran programs. For<br>
    Fortran 77 programmers, the file mpif.h provides the definitions of<br>
    the MPI constants such as MPI COMM WORLD. Fortran 90 programmers<br>
    should use the MPI module instead; this provides all of the<br>
    definitions as well as interface definitions for many of the MPI<br>
    functions. However, this MPI module does not provide full Fortran 90<br>
    support; in particular, interfaces for the routines, such as MPI<br>
    Send, that take “choice” arguments are not provided.<br>
<br>
It sounds like these are routines with ``choice'' arguments.<br>
<br>
On Thu, Dec 11, 2014 at 01:29:03PM +0000, <a href="mailto:Michael.Rachner@dlr.de">
Michael.Rachner@dlr.de</a> wrote:<br>
> Dear developers,<br>
><br>
> I have just found, that exactly the same 11 missing Ftn-interfaces  are also missing in MPICH-3.0.4, MSMPI-5.0, IMPI-5.0.0  .<br>
> So that looks, as if you all have inherited these missing interfaces from MPICH.<br>
><br>
> In contrast, with OPENMPI-1.8.2 all explicit Ftn-interfaces for MPI-routines needed by our CFD-code are present. Compliment!<br>
><br>
> Greetings<br>
> Michael Rachner<br>
><br>
><br>
> Von: mvapich-discuss<br>
> [mailto:<a href="mailto:mvapich-discuss-bounces@cse.ohio-state.edu">mvapich-discuss-bounces@cse.ohio-state.edu</a>] Im Auftrag von<br>
> <a href="mailto:Michael.Rachner@dlr.de">Michael.Rachner@dlr.de</a><br>
> Gesendet: Donnerstag, 11. Dezember 2014 13:12<br>
> An: <a href="mailto:mvapich-discuss@cse.ohio-state.edu">mvapich-discuss@cse.ohio-state.edu</a><br>
> Betreff: [mvapich-discuss] missing Fortran bindings in MVAPICH2-2.1a<br>
><br>
> Dear developers of MVAPICH2,<br>
><br>
> I found, that the explicit interfaces in the mpi-module are still missing in MVAPICH2-2.1a  (with INTEL-14.0.4) for these 11 MPI-routines:<br>
>   MPI_BCAST<br>
>   MPI_GATHER , MPI_GATHERV<br>
>   MPI_REDUCE , MPI_ALLREDUCE<br>
>   MPI_SCATTER, MPI_SCATTERV<br>
>   MPI_SSEND  , MPI_RECV<br>
>   MPI_WIN_ALLOCATE_SHARED, MPI_WIN_SHARED_QUERY<br>
><br>
> Greetings<br>
>   Michael Rachner<br>
><br>
<br>
> _______________________________________________<br>
> mvapich-discuss mailing list<br>
> <a href="mailto:mvapich-discuss@cse.ohio-state.edu">mvapich-discuss@cse.ohio-state.edu</a><br>
> <a href="http://mailman.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss" target="_blank">
http://mailman.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss</a><br>
<br>
_______________________________________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>