[Top] [Prev]

14.5 Use of the Pablo Instrumentation of HDF

Pablo HDF Trace software provides a means of measuring the performance of programs using HDF. The Pablo software consists of an instrumented copy of the HDF library (libdf-inst.a and libmfhdf-inst.a), the Pablo Trace and Trace Extensions libraries, and some utilities for processing the output. The instrumented version of the HDF library has hooks inserted into the HDF code which call routines in the Pablo Trace library just after entry to each instrumented HDF routine and just prior to exit from the routine. The Pablo Trace Extension library has programs that track the I/O activity between the entry and exit of the HDF routine during execution. A few lines of code must be inserted in the user's main program to enable tracing and to specify which HDF procedures are to be traced. The program is linked with the special HDF and Pablo libraries to produce an executable. Running this executable on a single processor produces an output file called the trace file which contains records, called Pablo Self-Defining Data Format (SDDF) records, which can later be analyzed using the HDF Analysis Utilities. The HDF Analysis Utilites can be used to interpret the SDDF records in the trace files to produce a report describing the HDF IO activity that occurred during execution. A User's Guide for this software can be found in the $(toplevel)/hdf/pablo/ subdirectory of the HDF distribution in the files Pablo.doc (Microsoft Word format), Pablo.pdf (PDF format), and Pablo.ps (PostScript format). Also see the file README.Pablo in that directory. For further information about Pablo and the Self-Defining Data Format, visit the Pablo website at http://www-pablo.cs.uiuc.edu.

To enable the creation of an instrumented library, the following section in the makefile fragment ($(toplevel)/config/mh-<os>) must be uncommented and set.




	# ------------ Macros for Pablo Instrumentation  --------------------
	# Uncomment the following lines to create a Pablo Instrumentation
	# version of the HDF core library called 'libdf-inst.a'
	# See the documentation in the directory 'hdf/pablo' for further
	# information about Pablo and what platforms it is supported on
	# before enabling.
	# You need to set 'PABLO_INCLUDE' to the Pablo distribution
	# include directory to get the files 'IOTrace.h' and 'IOTrace_SD.h'.
	#PABLO_FLAGS  = -DHAVE_PABLO
	#PABLO_INCLUDE = -I/hdf2/Pablo/Instrument.HP/include
After setting these values you must re-run the top-level configure script. Make sure that your start from a clean re-build (i.e. make clean) after re-running the toplevel configure script and then run make. Details on running configure can be found in the section "General Configuration/Installation - Unix" section of the top-level installation file $(toplevel)/INSTALL.



[Top] [Prev]

hdfhelp@ncsa.uiuc.edu
HDF User's Guide - 05/19/99, NCSA HDF Development Group.