[MPI3 Fortran] What if Fortran is the primary interface?

Jeff Squyres jsquyres at cisco.com
Mon Mar 17 16:40:41 CDT 2008

Craig mentioned last week that if we have these opaque Fortran types  
(with their contents unspecified), that we could be guaranteed that  
their first member would be at the first byte of the instance.

Hence, if we have MPI implementation X that uses pointers for MPI  
handles in C, if MPI X's Fortran MPI_COMM type has a single member  
that is a C_PTR, I was under the impression that we could still have a  
translation-less implementation (i.e., the Fortran compiler would do  
all the translation -- no work on the MPI side would be needed).

Is that correct?

On Mar 17, 2008, at 5:29 PM, Aleksandar Donev wrote:

> On Monday 17 March 2008 14:21, Jeff Squyres wrote:
>> For
>> ABI reasons, you are likely correct that we *will* need to mandate
>> what is in the Fortran MPI_COMM.
> Well, the first step is to mandate what MPI_COMM is, and then talk  
> about what
> it contains. You cannot leave it undefined as it is in the C  
> bindings (I am
> only familiar with MPI-2 bindings) and let the C headers actually  
> say what it
> is. In Fortran, you must say if it is a scalar or array, what type  
> it is,
> etc. Saying it is a derived type with private components is fine  
> with me. But
> that decision may impose massaging in a wrapper to get the guts of  
> that
> derived type container out of the container, on most implementations.
> Thanks,
> Aleks
> _______________________________________________
> mpi3-fortran mailing list
> mpi3-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran

Jeff Squyres
Cisco Systems

More information about the mpiwg-fortran mailing list