[mpi-21] Ballot 4 proposal: INOUT arguments

Rolf Rabenseifner rabenseifner at [hidden]
Tue Jan 22 10:29:51 CST 2008

An alternative-proposal would be to add a clarifying sentence in 
Terms and Conventions, MPI-2.0 Sect. 2.5.1, page 9, line 7:
  Handle arguments can be marked at INOUT to indicate that the handle
  itself may be changed by the routine (e.g., in MPI_TYPE_COMMIT),
  or to indicate that the object referenced by the handle may be
  changed but the handle itself is kept unchanged 
  (e.g., MPI_TYPE_SET_NAME). 

Rolf Rabenseifner

On Mon, 21 Jan 2008 09:42:02 -0500
 Jeff Squyres <jsquyres_at_[hidden]> wrote:
>This is not already on Bill's errata page.
>Proposal: change the INOUT designation of the MPI handle parameters in  several MPI-2 functions to be IN, because the values of the handles  are not changing.  Only the underlying MPI objects are changing.  The  C bindings for each of these functions do *not* pass the MPI handle by  reference, therefore disallowing the possibility of these parameters  actually being INOUT.  By the same argument, the C++ methods for these  functions should be const since the C++ object invoking the method  will not be changed.
>The functions in question are:
>MPI_*_SET_NAME for communicators, datatypes, windows
>MPI_*_SET_ATTR for communicators, datatypes, windows
>MPI_*_SET_ERRHANDLER for communicators, files, windows
>Locations of specific text to be changed (INOUT -> IN, add "const" to C ++ methods):
>MPI_COMM_SET_NAME: MPI-2:8.4, p177:35,44
>                    MPI-2:A.8.5, p336:28
>MPI_TYPE_SET_NAME: MPI-2:8.4, p179:41, p180:2
>                    MPI-2:A.8.5, p337:2
>MPI_WIN_SET_NAME: MPI-2:8.4, p181:25,35
>                    MPI-2:A.8.5, p337:36
>MPI_COMM_SET_ATTR: MPI-2:8.8.1, p201:6,17
>                    MPI-2:A.8.5, p336:27
>MPI_WIN_SET_ATTR: MPI-2:8.8.2, p204:2,12
>                    MPI-2:A.8.5, p337:35
>MPI_TYPE_SET_ATTR: MPI-2:8.8.3, p206:26,37
>                    MPI-2:A.8.5, p337:1
>MPI_COMM_SET_ERRHANDLER: MPI-2:4.13.1, p62:35,43
>                          MPI-2:A.8.1, p331:38
>MPI_WIN_SET_ERRHANDLER: MPI-2:4.13.2, p64:2,10
>                         MPI-2:A.8.1, p333:13
>MPI_FILE_SET_ERRHANDLER: MPI-2:4.13.3, p65:14,22
>                          MPI-2:A.8.1, p332:34
>NOTE: The "const" issues of this proposal will be dependent upon a 2nd  proposal about re-instituting the "const" on MPI predefined handles  that was removed in ballot 2.
>Jeff Squyres
>Cisco Systems

Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner_at_[hidden]
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-21 mailing list