On 12/27/2012 02:05 PM US Central Time, William Gropp wrote:
The standard is already clear - commit is only required when the datatype is used for communication. It is unnecessary for the standard to list all cases where commit is not required - it is enough to list where commit *is* required, which it does.
The way the text is currently written, it says "it is required for case X and not required for case Y" instead of saying "not required for all other cases". If the intended behavior is to not throw an error for non-communication routines, then the one example (of datatype constructors) should be removed from the standard, or just rewritten as "other operations such as datatype constructors". If that was the intention of the MPI-1 authors (you are one of them, so I'll take your word for it), we obviously don't have to wait till the standard fixes this to fix it in MPICH. -- Pavan -- Pavan Balaji http://www.mcs.anl.gov/~balaji