[MPIWG Fortran] An implementation problem of F08 binding

Junchao Zhang jczhang at mcs.anl.gov
Thu May 1 14:54:27 CDT 2014


If I am correct, Bill Long wants to inline the wrapper.

--Junchao Zhang


On Thu, May 1, 2014 at 2:51 PM, Jeff Squyres (jsquyres)
<jsquyres at cisco.com>wrote:

> On May 1, 2014, at 2:34 PM, Junchao Zhang <jczhang at mcs.anl.gov> wrote:
>
> > Hello,
> >    I met a problem when implementing F08 binding in MPICH.  I have a
> file mpi_f08.F90, which contains all interfaces
> >
> > module mpi_f08
> > ..
> > interface MPI_Send
> >     subroutine MPI_Send_f08ts(buf, count, datatype, dest, tag, comm,
> ierror)
> >         use :: mpi_f08_types, only : MPI_Datatype, MPI_Comm
> >         implicit none
> >         type(*), dimension(..), intent(in) :: buf
> >         integer, intent(in) :: count, dest, tag
> >         type(MPI_Datatype), intent(in) :: datatype
> >         type(MPI_Comm), intent(in) :: comm
> >         integer, optional, intent(out) :: ierror
> >     end subroutine MPI_Send_f08ts
> > end interface MPI_Send
> > ..
> > end module mpi_f08
> >
> > Then for each subroutine, I create a separate file which implement the
> wrapper function in Fortran.  For example, send_f08ts.F90 has
> >
> > subroutine MPI_Send_f08ts(buf, count, datatype, dest, tag, comm, ierror)
> >     use :: mpi_f08, only : MPI_Datatype, MPI_Comm
> >     use, intrinsic :: iso_c_binding, only : c_int
> >     use :: mpi_c_interface, only : c_Datatype, c_Comm
> >     use :: mpi_c_interface, only : MPIR_Send_cdesc
> >
> >     implicit none
> >     ..
> > end subroutine MPI_Send_f08ts
> >
> > Bill Long pointed out problems of the implementation. 1) When users
> supply a bad argument to MPI_Send(), the compiler complains "No specific
> match can be found for the generic subprogram call MPI_SEND", instead of
> pointing out the offending arg.
>
> Maybe Tobias, CC'ed, can shed light on why this is...
>
> > 2) The wrapper is not in a module, which eliminates many of the
> advantages of using modern Fortran.
>
> Can you explain what you mean by this?  There's still lots of advantages
> for using modern Fortran...
>
> --
> Jeff Squyres
> jsquyres at cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
> _______________________________________________
> mpiwg-fortran mailing list
> mpiwg-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-fortran/attachments/20140501/596e21ca/attachment-0001.html>


More information about the mpiwg-fortran mailing list