Re: [mpiwg-tools] Profiling for MPI_SIZEOF?
Hi Jeff, isn't MPI_SIZEOF also named as a function that is allowed to be implemented as a macro? Also, the call is likely to be so short (in duration) that you'd have a huge overhead in intercepting it. I would also be ok with proposed solution #1. Cheers, Marc-Andre On 15.05.14 20:42, Jeff Squyres (jsquyres) wrote:
Question for the Fortran and Tools WGs: How does a tool intercept calls to the Fortran-only MPI_SIZEOF function? (MPI-3.0 p621)
I ask for the following reasons:
1. Unlike all other MPI functions, this function is keyed off the *type* of the 1st argument (not the *value* of the first argument).
2. Without support for TYPE(*), DIMENSION(..) (which no compiler supports yet), an MPI implementation has to provide N overloaded versions of MPI_SIZEOF to be able to determine the type of the first argument.
3. However, unlike how we specified the Fortran routine names in the MPI-3.0 errata so that they could be intercepted by PMPI, there are no specified specific subroutine names for the overloaded MPI_SIZEOF routines.
In reality, I'm assuming no tool will ever care about intercepting MPI_SIZEOF (at least, they haven't complained in the several years that Open MPI/MPICH have provided it). But it's an inconsistency in the standard.
I see two obvious solutions -- perhaps there are more:
1. Define that MPI_SIZEOF is not able to be profiled. 2. For compilers that do not support TYPE(*), DIMENSION(..), define some kind of pattern of specific procedure names for the overloaded instances of MPI_SIZEOF.
I'm in favor of #1.
Thoughts?
-- Marc-Andre Hermanns Jülich Aachen Research Alliance, High Performance Computing (JARA-HPC) German Research School for Simulation Sciences GmbH Schinkelstrasse 2 52062 Aachen Germany Phone: +49 241 80 99753 Fax: +49 241 80 6 99753 www.grs-sim.de/parallel email: [email protected]
participants (1)
-
Marc-Andre Hermanns