X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.2 Date: Fri, 09 Feb 2001 09:19:17 -0600 To: Nicholas Nevin - Sun HPC High Performance Computing From: William Gropp Subject: Re: MPI-2 standard issues Cc: mpi-core@XXXXXXXXXXX In-Reply-To: <20010209095646.C20056@XXXX> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-mpi-core@XXXXXXXXXXXXX Precedence: bulk At 09:56 AM 2/9/2001 -0500, Nicholas Nevin - Sun HPC High Performance Computing wrote: A have a couple of questions regarding the MPI-2 standard. 1. In section 8.5 is the following "Instead, a predefined attribute key MPI_LASTUSEDCODE is associated with MPI_COMM_WORLD. The attribute value corresponding to this key is the current maximum error class including the user-defined ones." Shouldn't "maximum error class" read "maximum error code"? This reflects the statement from the MPI-1 standard that MPI_ERR_LASTCODE is greater or equal to the value of every error *class*. The text of the description says "last standard error code", not "last error code". One reading of this is that MPI_ERR_LASTCODE (and the MPI-2 attribute MPI_LASTUSEDCODE) defines the maximum defined error class. Error codes can be much larger; we encode information about the specific error case into the code. Our maximum error code is effectively MAX_INT. But our maximum error class is much smaller. 2. Why the restriction that types obtained from calls to MPI_Type_create_f90_{real,complex,integer} cannot be freed? This restriction doesn't appear to serve any useful purpose and the requirement that MPI_Type_get_envelope return the precision/range used to create such a type seems to either require an implementation to maintain a potentially very large table or allocate dynamic storage (which cannot be freed) to store the precision/range. This looks like a mistake. A correction could say that the type returned is effectively a dup of the predefined type, it can (and should be) freed by the user, and implementer could use internal attributes to store the info needed for MPI_Type_get_envelope. Note that for layered libraries on heterogeneous system, it is necessary to provide the features specified for MPI_Type_get_envelope. Bill