[Mpi-forum] Reserved MPI_ prefix & namespace in C and Fortran

Rolf Rabenseifner rabenseifner at hlrs.de
Fri Aug 24 11:30:45 CDT 2012


Bill, 

good idea. I try it; what about

C:
> >   "Programs must not declare 
       names (identifiers), e.g., for variables, functions, constants, 
       macros, types, or namespaces,
> >    beginning with the prefix MPI_."

Fortran:
> >   "Programs must not declare 
       names, e.g., for variables, parameters, functions,
       derived types, or abstract interfaces,
> >    beginning with the prefix MPI_.

Rolf


----- Original Message -----
> From: "William Gropp" <wgropp at illinois.edu>
> To: "Main MPI Forum mailing list" <mpi-forum at lists.mpi-forum.org>
> Sent: Friday, August 24, 2012 6:05:38 PM
> Subject: Re: [Mpi-forum] Reserved MPI_ prefix & namespace in C and Fortran
> The intent of the Forum has always been that all names that begin with
> MPI_ or PMPI_, and the MPI namespace, are reserved for MPI. The
> mistake (a common one) was to attempt to enumerate all of the items to
> which this applies. Rather than attempt to cover everything, I would
> prefer changing the text to match the indent; it can mention specific
> categories as examples but should not attempt to list them, as this is
> always error prone.
> 
> Bill
> 
> William Gropp
> Director, Parallel Computing Institute
> Deputy Director for Research
> Institute for Advanced Computing Applications and Technologies
> Paul and Cynthia Saylor Professor of Computer Science
> University of Illinois Urbana-Champaign
> 
> 
> 
> On Aug 24, 2012, at 10:31 AM, Rolf Rabenseifner wrote:
> 
> > Dear all,
> >
> > Jeremiah detected a very old inconsistency in the MPI standard:
> >
> >> On page 19 line 14, the restriction on use of MPI_* names should
> >> also
> >> apply to preprocessor macros, namespaces in C++, types, and other
> >> things.
> >
> > In MPI-2.2, it was page 18, lines 15-16:
> >
> >   "Programs must not declare variables or functions
> >    with names beginning with the prefix MPI_."
> >
> > Together with MPI-2.2 p4:26
> >
> >   "Any correct MPI-2.1 program is a correct MPI-2.2 program."
> >
> > and the new constant declaration on p258:17: MPI_DIST_GRAPH,
> > the implication is that the MPI standard is inconsistent.
> >
> > The solution is very simple, an MPI-2 errata ticket changing
> > MPI-2.2, lines 15-16 into (addition marked with {...}):
> >
> >   "Programs must not declare variables, functions,
> >    { constants, macros, types, or namespaces }
> >    with names beginning with the prefix MPI_."
> >
> > And for Fortran on p17:41-42 (addition marked with {...}):
> >
> >   "Programs must not declare variables, parameters, functions,
> >    { derived types, or abstract interfaces }
> >    with names beginning with the prefix MPI_.
> >
> > It should be a single reading+vote errata ticket, because it does
> > not change the standard, it only makes it obvious.
> > The reservation was in MPI-2.1 in fact already there through the
> > sentence
> >
> >   "Any correct MPI-2.1 program is a correct MPI-2.2 program."
> >
> > because nobody could foresee, which new things we will
> > have added to MPI-2.2.
> >
> > Details are in ticket
> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/343
> >
> > And see markups ticket0.343 on page 11 in
> > https://svn.mpi-forum.org/trac/mpi-forum-web/attachment/ticket/343/ticket0.343-terms-2.pdf
> >
> > I hope that there is a broad consensus
> > to solve this inconsistency.
> >
> > Best regards
> > Rolf
> >
> >
> > ----- Original Message -----
> >> From: "Jeremiah Willcock" <jewillco at osl.iu.edu>
> >> To: mpi-comments at mpi-forum.org
> >> Sent: Sunday, August 19, 2012 2:13:41 AM
> >> Subject: [Mpi-comments] Comments on MPI 3.0 draft 2
> >> These are in reference to the draft at
> >> <URL:http://meetings.mpi-forum.org/mpi3.0_draft_2.pdf>. Thank you
> >> for
> >> considering them.
> >>
> >> -- Jeremiah Willcock
> > ...
> >> On page 19 line 14, the restriction on use of MPI_* names should
> >> also
> >> apply to preprocessor macros, namespaces in C++, types, and other
> >> things.
> >
> > --
> > Dr. Rolf Rabenseifner . . . . . . . . . .. email
> > rabenseifner at hlrs.de
> > High Performance Computing Center (HLRS) . phone
> > ++49(0)711/685-65530
> > University of Stuttgart . . . . . . . . .. fax ++49(0)711 /
> > 685-65832
> > Head of Dpmt Parallel Computing . . .
> > www.hlrs.de/people/rabenseifner
> > Nobelstr. 19, D-70550 Stuttgart, Germany . (Office: Allmandring 30)
> > _______________________________________________
> > mpi-forum mailing list
> > mpi-forum at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
> 
> 
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum

-- 
Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
Nobelstr. 19, D-70550 Stuttgart, Germany . (Office: Allmandring 30)



More information about the mpi-forum mailing list