Hi Rob, it is true that you can't easily see the offset with IPM,
unless you follow the sequence of writes or look for an fseek command.
I did have an earlier beta of IPM that wrapped lseek and lseek64, but
it looks like those did not make their way into the 2.0 beta. Also, an
important step I forgot to mention in my original email is that you
also have to specify a list of "wraps" when you link your application,
like this:
WRAPS = -Wl,-wrap,fopen,-wrap,fdopen,-wrap,freopen,-wrap,fclose,-wrap,fflush,-wrap,fread,-wrap,fwrite,-wrap,fseek,-wrap,ftell,-wrap,rewind,-wrap,fgetpos,-wrap,fsetpos,-wrap,fgetc,-wrap,getc,-wrap,ungetc,-wrap,read,-wrap,write,-wrap,open,-wrap,open64,-wrap,creat,-wrap,close,-wrap,truncate,-wrap,ftruncate,-wrap,truncate64,-wrap,ftruncate64
-Wl,-wrap,fopen,-wrap,fdopen,-wrap,freopen,-wrap,fclose,-wrap,fflush,-wrap,fread,-wrap,fwrite,-wrap,fseek,-wrap,ftell,-wrap,rewind,-wrap,fgetpos,-wrap,fsetpos,-wrap,fgetc,-wrap,getc,-wrap,ungetc,-wrap,read,-wrap,write,-wrap,open,-wrap,open64,-wrap,creat,-wrap,close,-wrap,truncate,-wrap,ftruncate,-wrap,truncate64,-wrap,ftruncate64
(link line ...) -lipm $(WRAPS)
The wraps show the full set of POSIX functions that IPM will trace.
Mark
···
On Fri, Mar 4, 2011 at 3:22 PM, Rob Latham <robl@mcs.anl.gov> wrote:
On Fri, Mar 04, 2011 at 10:09:14AM -0500, Mark Howison wrote:
Hi Matthieu,
The Integrated Performance Monitor (IPM) v2 beta has a POSIX I/O
tracing feature. This will give you detailed output of the underlying
POSIX calls (such as open, write and read) made by your application
(through the pHDF layer). You can download it here:
http://tools.pub.lab.nm.ifi.lmu.de/web/ipm/
To enable I/O tracing, you have to configure with
./configure --enable-posixio CFLAGS=-DHAVE_POSIXIO_TRACE
You have to relink your application against the libipm.a that his
produces (or you can enable the shared library and do an LD_PRELOAD).
After you application runs, you'll have a text file for each MPI rank
with the POSIX calls and their arguments.
Matthieu Dorier was asking for a tuple of (rank,file,offset,size).
I guess this really belongs on the ipm-hpc-help list, but IPM doesn't
actually give you the offset information. It wraps fseek(3) but HDF5
using MPI-IO is probably going to call lseek(2), lseek64(2) some other
seek-like system call.
IPM is pretty close, giving the file, size, and a timestamp all tucked
into a file-per-rank.
==rob
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org