[mpiwg-tools] Profiling for MPI_SIZEOF?
Jeff Squyres (jsquyres)
jsquyres at cisco.com
Thu May 15 13:42:41 CDT 2014
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?
--
Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
More information about the mpiwg-tools
mailing list