From: Jeff Squyres Date: January 23, 2008 7:05:34 AM CST To: mpi-21@XXXXXXXXXXXXX Cc: mpi-21@XXXXXXXXXXX Subject: Re: [mpi-21] Ballot 4 proposal: INOUT arguments Reply-To: mpi-21@XXXXXXXXXXXXX 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 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@XXXXXXX >> 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