On 05/20/2013 10:49 AM US Central Time, Fab Tillier wrote:
Pavan Balaji wrote on Mon, 20 May 2013 at 06:57:42
And what about the non-deterministic effects that I called out in the email back in 2011 -- are those allowed, and if so, do we need to say that they're non-deterministic? ...and so on.-
Right, we did talk about the non-determinism on this email thread before you joined in, but we concluded that there's only one sensible way. Of course, that should be clarified in the standard. But it's not a major change in implementations, I think.
One thing we didn't discuss yet is whether the callbacks are called during MPI_Finalize, for attributes assigned to built-in communicators and/or types, and what operations are allowed therein. This makes it that much more interesting to do non-blocking I/O from the callback, since technically the application has called MPI_Finalize. However, if we go with the "as if MPI_*_DELETE_ATTR was called before the call, then anything should be valid, and we should have an advice to users regarding Finalize.
Are we supposed to call those callbacks at Finalize? MPI is not required to clean up the comm resources, is it? -- Pavan -- Pavan Balaji http://www.mcs.anl.gov/~balaji