[MPIWG Fortran] Proposal: MPI_SIZEOF not profiled

Bill Long longb at cray.com
Fri May 16 11:17:30 CDT 2014


On May 16, 2014, at 11:04 AM, N.M. Maclaren <nmm1 at cam.ac.uk> wrote:

> On May 16 2014, Jeff Squyres (jsquyres) wrote:
>> On May 16, 2014, at 11:14 AM, Rolf Rabenseifner <rabenseifner at hlrs.de> wrote:
>> 
>>> We need a correct expression telling that it is allowed to be not interceptable.
>>> MPI-3.0 wording: "as macro in C."
>>> [does not tell anything about Fortran]
>> 
>> Per my other mail, I think we don't want to touch this in an errata. Allowing WTICK/WTIME to be inlined in Fortran -- which I intentionally avoided in the original proposal -- is a new thing, and should wait until MPI-4.
>> 
>> My proposal was amended by your prior mail, but I do not like this "Maybe better proposal" you sent.
>> 
>> To be clear, here's what I'm currently proposing:
>> 
>> ----- An implementation is allowed to implement MPI_WTIME, MPI_WTICK, PMPI_WTIME, PMPI_WTICK, and the handle- ***and status-*** conversion functions (MPI_Group_f2c, etc.) in Section***s*** 17.2.4 ***and 17.2.5***, and no others, as macros in C ***or inlined in Fortran***. ***MPI_SIZEOF may also be inlined.***
> 
> I agree with Rolf's wording.  Talking about inlining in C is a mistake,
> too - but MPI didn't start it - WG14 did.  But it is a REALLY bad idea
> in Fortran, which (generally) doesn't talk about implementation at all.
> It didn't even assume floating-point reals until Fortran 90!
> 
> The term "not interceptable" conveys the important restriction.  How

I agree this is the important concept.  Somehow the compiler, through optimization, macros, automatic inlining,…, creates an object file that does not contain the expected external symbol that can be satisfied by a substitute (interceptor) routine.  This general concept is independent of language (C or Fortran).  The intent of the text is that there is a set of MPI_* routines that are allowed in this class, the spec lists the maximal set, and the implementation is obligated to document its actual set. 

Cheers,
Bill




> an implementation handles MPI_Sizeof is up to it - as I said, using a
> preprocessor is one possibility, and has been and is done for other
> purposes.
> 
> 
> Regards,
> Nick Maclaren.
> 
> 
> _______________________________________________
> mpiwg-fortran mailing list
> mpiwg-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran

Bill Long                                                                       longb at cray.com
Fortran Technical Suport  &                                  voice:  651-605-9024
Bioinformatics Software Development                     fax:  651-605-9142
Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN 55101





More information about the mpiwg-fortran mailing list