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.3... I hope that there is a broad consensus to solve this inconsistency. Best regards Rolf ----- Original Message -----
From: "Jeremiah Willcock" <[email protected]> To: [email protected] 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 [email protected] 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)