[mpich2-dev] wrapping library calls

chan at mcs.anl.gov chan at mcs.anl.gov
Thu Nov 19 16:32:30 CST 2009


MPICH2's compiler wrappers support this profile mechanism
(MPE uses a special version of this mechanism to insert
its profiling libraries through switch -mpe=).  I would think
that if one defines a darshan.conf that defines
PROFILE_{PRE|POST}LIB and do
mpicc -profile=darshan .... (or something like that).
Thing should work.  If it does not work, I would like to
know why and to enhance mpi* wrappers in MPICH2 to accomodate
that.

The modified mpixlc available on BG/P does not seem to
take advantage the profile mechanism.

A.Chan

----- "Rob Latham" <robl at mcs.anl.gov> wrote:

> Hey folks
> 
> Phil's put together this slick tool called 'darshan'[1].  Darshan
> uses the MPI profiling interface to wrap MPI calls, and linker tricks
> (-wrap) to wrap posix I/O calls.
> 
> We have to modify the MPI wrapper scripts so that darshan's
> implementation of the wrapped symbols gets linked in.  Each driver
> update requires a new set of wrapper shell scripts.
> 
> Is there some way through the command line that we can pass the flags
> '-Wl,-wrap,read,-wrap,write,...' and '-L/path/to/darshan
> -ldarshan-posix'  ?  
> 
> What would be great is if darshan could ship an mpicc wrapper that
> was
> just one line "/path/to/real/mpicc -Wl,-wrap,read,-wrap,write... $@
> -L/path/to/darshan -ldarshan-io".  
> 
> Unfortunately when I try this, the -Wl and -L flags I pass in go in
> very early in the generated command line ("${allargs[@]}" ).  
> 
> Phil wrote a script to take the output of 'mpicc -show' and munge the
> command line accordingly, so this is kind of a solved problem for
> Darshan.  I was just wondering if there was an approach I had not
> considered in case we want to wrap function calls for some other
> project in the future.
> 
> [1]http://press.mcs.anl.gov/darshan/
> 
> Thanks
> ==rob
> 
> -- 
> Rob Latham
> Mathematics and Computer Science Division
> Argonne National Lab, IL USA


More information about the mpich2-dev mailing list