[mpi-21] Ballot 4 proposal: INOUT arguments
Jeff Squyres
jsquyres at [hidden]
Wed Jan 23 06:16:23 CST 2008
This would be in accordance with the existing MPI-1:2.2 language, and
therefore (I think) redundant.
However, see my summary e-mail from last night about the C++ bindings
-- I am wondering why the special case for [IN]OUT handle arguments
exists to begin with (that a parameter is OUT if the underlying MPI
object is changed when the handle is not).
On Jan 22, 2008, at 11:29 AM, Rolf Rabenseifner wrote:
> 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)
>
--
Jeff Squyres
Cisco Systems
More information about the Mpi-21
mailing list