Re: [MPIWG Fortran] [mpiwg-tools] Proposal: MPI_SIZEOF not profiled
On May 19 2014, Rolf Rabenseifner wrote:
Bill,
your text goes beyond the errata goal.
The errata goal was: - adding the missing Status conversion - adding MPI_SIZEOF
And this works as errata.
Your goal is to allow also - Fortran non-interceptable for these routines.
Your additional Change is to allow other methods than C macros for C. This would prevent "#ifdef MPI_Wtime".
All this would be MPI-4.0 and not MPI-3.0 errata.
Would it? I don't know what useful effect you would expect "#ifdef MPI_Wtime" to achieve, but it assuredly would NOT tell you (reliably) whether or not it can be accessed through the profiling interface. 14.2 says: 1. provide a mechanism through which all of the MPI defined functions, except those allowed as macros (See Section 2.6.4), may be accessed with a name shift. Because it says "ALLOWED as macros", MPI_Wtime may not be accessed through the profiling interface, whether or not it is implemented as a macro. Doing so is a user error, leading to undefined behaviour. Therefore, an implementation may implement them as C inline functions, and would meet all of the requirements of MPI. The error is more pervasive than just for Fortran. Because it did not say what it meant, but something that was equivalent under K&R C (sic), it wasn't strictly true in C90 and was rendered significantly misleading (arguably erroneous) by C99. And that's the reason that some people get very unhappy about the proposed partial fix. It's also why the best solution is to regard ALL of the wording as an error - which would probably mean starting a new ticket. But it's definitely an error in the wording, not a change. Regards, Nick Maclaren.
participants (1)
-
N.M. Maclaren