[mpich-discuss] missing Fortran bindings in MPICH

Junchao Zhang jczhang at mcs.anl.gov
Mon Dec 15 10:44:17 CST 2014


Hi, Michael,
 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.
 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.
 We are going to add explicit interfaces for all routines in "use mpi".  I
will keep you updated.

 Thank you.
 --Junchao Zhang

On Mon, Dec 15, 2014 at 4:26 AM, <Michael.Rachner at dlr.de> wrote:
>
>  Dear Junchao,
>
>
>
> In another email of today to discuss at mpich.org  I attached  my
> sharedmemtest.f90  test program.
>
>
>
> At the end of that file I added a small sbr check_ftn_bindings  .   It is
> for checking for missing explicit Ftn-interfaces in the mpi-module.
>
> 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):
>
>
>
> rachner at master:~/dat> mpif90 sharedmemtest.f90
>
> sharedmemtest.f90(246): error #6580: Name in only-list does not exist.
> [MPI_FINALIZE]
>
>       use MYMPI, only:  MPI_INIT, MPI_BARRIER, MPI_FINALIZE      &   ! <--
> MPI-2 routines
>
>                 -----------------------------------------------^
>
> sharedmemtest.f90(249): error #6580: Name in only-list does not exist.
> [MPI_WIN_ALLOCATE_SHARED]
>
>       use MYMPI, only:  MPI_WIN_ALLOCATE_SHARED, MPI_WIN_SHARED_QUERY,
> MPI_GET_LIBRARY_VERSION  ! <-- MPI-3 routines
>
>    ------------------------^
>
> sharedmemtest.f90(249): error #6580: Name in only-list does not exist.
> [MPI_WIN_SHARED_QUERY]
>
>       use MYMPI, only:  MPI_WIN_ALLOCATE_SHARED, MPI_WIN_SHARED_QUERY,
> MPI_GET_LIBRARY_VERSION  ! <-- MPI-3 routines
>
>                          -------------------------------------------------^
>
> compilation aborted for sharedmemtest.f90 (code 1)
>
> rachner at master:~/dat>
>
>
>
>
>
> You can see, that also for sbr MPI_FINALIZE there is no explicit
> Ftn-interface in the mpi-module  (“use mpi”).
>
> (By the way: In our MPICH-3.0.4 implementation there exist no
> mpi_base.f90, only a  mpi_base.mod file.)
>
>
>
>
>
> It is a good investment in the future, that MPICH has provided explicit
> interfaces now for the mpi-f08 module.
>
> But: Do normal Ftn-compilers already support Ftn2008 features already
> sufficiently, so that we can actually use that mpi_f08 module?
>
> There is the problem, I think.
>
> Have you tried, whether it works for the INTEL-Ftn-compiler?
>
> 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.
>
>
>
> Greetings
>
>    Michael Rachner
>
>
>
>
>
> *Von:* Junchao Zhang [mailto:jczhang at mcs.anl.gov]
> *Gesendet:* Freitag, 12. Dezember 2014 18:05
> *An:* <discuss at mpich.org>
> *Betreff:* Re: [mpich-discuss] missing Fortran bindings in MPICH
>
>
>
> Hi, Michael,
>
>   I checked and found MPI_FINALIZE did have an explicit interface, at
> least in MPICH-3.1.3. You can search the file mpi_base.f90 in your MPICH
> build.
>
>   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
> http://dl.acm.org/citation.cfm?id=2642777
>
>   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.
>
>
>
>   Thanks.
>
>
>
>
>
>
>
>
>
>
>
>
>   --Junchao Zhang
>
>
>
> On Fri, Dec 12, 2014 at 5:55 AM, <Michael.Rachner at dlr.de> wrote:
>
> Dear developers of MPICH,
>
> For your convenience, I forward the emails in mvapich-discuss  concerning
> the missing Fortran bindings.
> Possibly this I can encourage you  a bit, adding (as OPENMPI did it
> successfully)  the missing explicit Ftn-interfaces in the mpi-module
> for those MPI-routines with parameters of "Choice"-type?
>
> At least:  You may add the explicit Ftn-interface for the sbr
> MPI_FINALIZE . It is missing in MPICH-3.0.4 too.
>
> Greetings
>   Michael Rachner
>
>
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: mvapich-discuss [mailto:mvapich-discuss-bounces at cse.ohio-state.edu]
> Im Auftrag von Michael.Rachner at dlr.de
> Gesendet: Freitag, 12. Dezember 2014 12:38
> An: mvapich-discuss at cse.ohio-state.edu
> Betreff: [mvapich-discuss] WG: WG: missing Fortran bindings in
> MVAPICH2-2.1a
>
> Sorry, I wanted to send my email not to Jonathan alone, but to the
> mvapich-discuss.
>   Michael
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Rachner, Michael
> Gesendet: Freitag, 12. Dezember 2014 10:03
> An: 'Jonathan Perkins'
> Betreff: AW: [mvapich-discuss] WG: missing Fortran bindings in
> MVAPICH2-2.1a
>
> Thank You, Jonathan, for this hint.
> 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.
> So the MPI-3.0  Standard document contains a complicated chapter 17.1
> with these things.
> 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.
> For details: In November there were some emails discussing this issue in
> the OPENMPI-forum.
>
> Greetings
> Michael Rachner
>
>
> -----Ursprüngliche Nachricht-----
> Von: Jonathan Perkins [mailto:perkinjo at cse.ohio-state.edu]
> Gesendet: Donnerstag, 11. Dezember 2014 16:17
> An: Rachner, Michael
> Cc: mvapich-discuss at cse.ohio-state.edu
> Betreff: Re: [mvapich-discuss] WG: missing Fortran bindings in
> MVAPICH2-2.1a
>
> 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.
>
> Here is a snippet from MPICH's user guide:
>
>     4.2 Special Issues for Fortran
>
>     MPICH provides two kinds of support for Fortran programs. For
>     Fortran 77 programmers, the file mpif.h provides the definitions of
>     the MPI constants such as MPI COMM WORLD. Fortran 90 programmers
>     should use the MPI module instead; this provides all of the
>     definitions as well as interface definitions for many of the MPI
>     functions. However, this MPI module does not provide full Fortran 90
>     support; in particular, interfaces for the routines, such as MPI
>     Send, that take “choice” arguments are not provided.
>
> It sounds like these are routines with ``choice'' arguments.
>
> On Thu, Dec 11, 2014 at 01:29:03PM +0000, Michael.Rachner at dlr.de wrote:
> > Dear developers,
> >
> > 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  .
> > So that looks, as if you all have inherited these missing interfaces
> from MPICH.
> >
> > In contrast, with OPENMPI-1.8.2 all explicit Ftn-interfaces for
> MPI-routines needed by our CFD-code are present. Compliment!
> >
> > Greetings
> > Michael Rachner
> >
> >
> > Von: mvapich-discuss
> > [mailto:mvapich-discuss-bounces at cse.ohio-state.edu] Im Auftrag von
> > Michael.Rachner at dlr.de
> > Gesendet: Donnerstag, 11. Dezember 2014 13:12
> > An: mvapich-discuss at cse.ohio-state.edu
> > Betreff: [mvapich-discuss] missing Fortran bindings in MVAPICH2-2.1a
> >
> > Dear developers of MVAPICH2,
> >
> > 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:
> >   MPI_BCAST
> >   MPI_GATHER , MPI_GATHERV
> >   MPI_REDUCE , MPI_ALLREDUCE
> >   MPI_SCATTER, MPI_SCATTERV
> >   MPI_SSEND  , MPI_RECV
> >   MPI_WIN_ALLOCATE_SHARED, MPI_WIN_SHARED_QUERY
> >
> > Greetings
> >   Michael Rachner
> >
>
> > _______________________________________________
> > mvapich-discuss mailing list
> > mvapich-discuss at cse.ohio-state.edu
> > http://mailman.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20141215/35d8a0c9/attachment.html>
-------------- next part --------------
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list