I don't disagree with your interpretation, but I am always hesitant to assert my understanding of the text in the absence of input from those who were present when it was written. I'll file an MPI Forum ticket and see what happens. Jeff On Thu, Dec 27, 2012 at 12:48 PM, Lisandro Dalcin <[email protected]> wrote:
On 27 December 2012 15:36, Jeff Hammond <[email protected]> wrote:
This is what the MPI standard says:
4.1.9 Commit and Free A datatype object has to be committed before it can be used in a communication. As an argument in datatype constructors, uncommitted and also committed datatypes can be used. There is no need to commit basic datatypes. They are “pre-committed.”
There is some ambiguity since the functions to which you refer lie outside of the union of "communication" and "datatype constructors". However, since MPI_TYPE_SIZE(_X) determine "the total size of the data in a message that would be created with this datatype", I wonder if there is an implementation wherein the "compilation" that can potentially occur during MPI_TYPE_COMMIT is required in order to satisfy MPI_TYPE_SIZE(_X).
I would argue that a "datatype constructor" is a much more complex operation that a "datatype accessor", so if construction should work with uncommited, I would expect accessors to work, too. Moreover, the current implementation of MPI_Type_size() seems to agree with my POV.
Is it necessary for mpi4py to have the behavior of the older version of MPICH to function properly or can you work around this for now?
It is not a problem of mpi4py, actually, buy user's code out there that could potentially break (BTW, this issue also applies to C and Fortran codes).
-- Lisandro Dalcin --------------- CIMEC (INTEC/CONICET-UNL) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo 3000 Santa Fe, Argentina Tel: +54-342-4511594 (ext 1011) Tel/Fax: +54-342-4511169
-- Jeff Hammond Argonne Leadership Computing Facility University of Chicago Computation Institute [email protected] / (630) 252-5381 http://www.linkedin.com/in/jeffhammond https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond