[MPIWG Fortran] Another MPI_SIZEOF question

Jeff Squyres (jsquyres) jsquyres at cisco.com
Tue Jun 10 08:59:23 CDT 2014


On Jun 10, 2014, at 9:06 AM, William Gropp <wgropp at illinois.edu> wrote:

> This naming corresponds to MPI-3 but not to the use in MPI-1 nor to what some users may still want, which is what Jeff is talking about.  

There are really two issues at play here:

1. Which MPI interface an application is using: C, Fortran mpif.h, Fortran mpi module, or Fortran mpi_f08 module
2. Which Fortran compiler an application needs

Trying to munge these two issues into a single label has led to all kinds of confusion and silly religious debates ...like this one.

> In my opinion, the use of "mpif.h" should have been to support existing programs in their existing compilation environments.  That might be fixed-format early Fortran, either Fortran 77 or perhaps Fortran 90 or Fortran 95. The goal of MPI-3 should have been to ensure that new programs used the mpi or mpi_f08 modules and that existing programs could continue to be used.  That is *not* the situation that we have now. 

Fair enough; but note that this has been true since 1996 (MPI_SIZEOF was introduced in MPI 2.0).

> As far as I can tell from the requirement that MPI_SIZEOF be supported, mpif.h also requires Fortran 2008 + TS29113, meaning that many legacy MPI programs cannot be compiled with a standard conforming MPI implementation and a Fortran compiler that implements only, say, Fortran 2008 (but not the TS29113, which is *not* part of the standard) or Fortran 2003.  

Is 2003 or 2008+TS29113 required for SIZEOF?  I have no knowledge of when INTERFACE blocks were added to Fortran.

I'm asking this because DIMENSION(..) is *useful* to implement MPI_SIZEOF succinctly/easily, but it is not *required*.

Put differently: if 2003/2008+TS is required for MPI_SIZEOF, then MPI-2.0 made a terrible error in defining MPI_SIZEOF.

-- 
Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/




More information about the mpiwg-fortran mailing list