<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr">Hi, Michael,<div> You are right. I found MPI_Finalize did not an explicit interface in MPICH-3.0.4. The problem was fixed at least in MPICH-3.1.3.</div><div> Intel Fortran compiler current does not TS29113. I will tell the Intel MPI team we need this feature. As I mentioned before, Cray ftn supports mpi_f08. From the website, I also think the latest IBM XLF is able to support mpi_f08, thought I don't have access to the software and be able to try it.</div><div> We are going to add explicit interfaces for all routines in "use mpi". I will keep you updated.</div><div><br></div><div> Thank you. </div><div> --Junchao Zhang</div><div class="gmail_extra">
<br><div class="gmail_quote">On Mon, Dec 15, 2014 at 4:26 AM, <span dir="ltr"><<a href="mailto:Michael.Rachner@dlr.de" target="_blank">Michael.Rachner@dlr.de</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div lang="DE" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Dear Junchao,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">In another email of today to
<a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a> I attached my sharedmemtest.f90 test program.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">At the end of that file I added a small sbr</span><span lang="EN-US" style="font-size:10pt;font-family:Consolas;color:rgb(64,0,64)">
</span><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">check_ftn_bindings . It is for checking for missing explicit Ftn-interfaces in the mpi-module.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">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):<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"></span><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red">rachner@master:~/dat> mpif90 sharedmemtest.f90<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red">sharedmemtest.f90(246): error #6580: Name in only-list does not exist. [MPI_FINALIZE]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red"> use MYMPI, only: MPI_INIT, MPI_BARRIER, MPI_FINALIZE & ! <-- MPI-2 routines<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red"> -----------------------------------------------^<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red">sharedmemtest.f90(249): error #6580: Name in only-list does not exist. [MPI_WIN_ALLOCATE_SHARED]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;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<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red"> ------------------------^<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red">sharedmemtest.f90(249): error #6580: Name in only-list does not exist. [MPI_WIN_SHARED_QUERY]<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;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<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red"> -------------------------------------------------^<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red">compilation aborted for sharedmemtest.f90 (code 1)<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:red">rachner@master:~/dat><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">You can see, that also for sbr MPI_FINALIZE there is no explicit Ftn-interface in the mpi-module (“use mpi”).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">(By the way: In our MPICH-3.0.4 implementation there exist no mpi_base.f90, only a mpi_base.mod file.)<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">It is a good investment in the future, that MPICH has provided explicit interfaces now for the mpi-f08 module.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">But: Do normal Ftn-compilers already support Ftn2008 features already sufficiently, so that we can actually use that mpi_f08 module?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">There is the problem, I think.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Have you tried, whether it works for the INTEL-Ftn-compiler?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">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.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Greetings<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> Michael Rachner<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10pt;font-family:Tahoma,sans-serif">Von:</span></b><span style="font-size:10pt;font-family:Tahoma,sans-serif"> Junchao Zhang [mailto:<a href="mailto:jczhang@mcs.anl.gov" target="_blank">jczhang@mcs.anl.gov</a>]
<br>
<b>Gesendet:</b> Freitag, 12. Dezember 2014 18:05<br>
<b>An:</b> <<a href="mailto:discuss@mpich.org" target="_blank">discuss@mpich.org</a>><br>
<b>Betreff:</b> Re: [mpich-discuss] missing Fortran bindings in MPICH<u></u><u></u></span></p><div><div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi, <span style="font-size:10pt">Michael,</span><u></u><u></u></p>
<div>
<p class="MsoNormal"><span style="font-size:10pt"> 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.<u></u><u></u></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" target="_blank">http://dl.acm.org/citation.cfm?id=2642777</a><u></u><u></u></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.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"> Thanks. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10pt"> </span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<u></u><u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">--Junchao Zhang<u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></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:<u></u><u></u></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" target="_blank">mvapich-discuss-bounces@cse.ohio-state.edu</a>] Im Auftrag von
<a href="mailto:Michael.Rachner@dlr.de" target="_blank">Michael.Rachner@dlr.de</a><br>
Gesendet: Freitag, 12. Dezember 2014 12:38<br>
An: <a href="mailto:mvapich-discuss@cse.ohio-state.edu" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">
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" target="_blank">mvapich-discuss-bounces@cse.ohio-state.edu</a>] Im Auftrag von<br>
> <a href="mailto:Michael.Rachner@dlr.de" target="_blank">Michael.Rachner@dlr.de</a><br>
> Gesendet: Donnerstag, 11. Dezember 2014 13:12<br>
> An: <a href="mailto:mvapich-discuss@cse.ohio-state.edu" target="_blank">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" target="_blank">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" target="_blank">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><u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>
<br>_______________________________________________<br>
discuss mailing list <a href="mailto:discuss@mpich.org" target="_blank">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><br></blockquote></div></div></div>