[mpi-21] Ballot 4 proposal: INOUT arguments

Jeff Squyres jsquyres at [hidden]
Wed Jan 23 07:05:34 CST 2008



On Jan 23, 2008, at 7:16 AM, Jeff Squyres wrote:

> 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).

I just now saw your other mail about all of MPI-1:2 being deprecated  
in favor of MPI-2:2 -- you're right; I followed up in that thread.

>
>
>
> 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
>


-- 
Jeff Squyres
Cisco Systems




More information about the Mpi-21 mailing list