SoftwareCompilersLibraries Applications Tools & Utilities Software by PlatformHopperFranklin Carver Euclid PDSF HPSS Affiliated CollectionsACTS Collection
|
IBM/SP Profiling Tool (Xprofiler)Xprofiler is a GUI based performance profiling tool distributed as part of the IBM Parallel Environment for AIX. It can be used to graphically identify which functions are the most CPU intensive in your code. It provides a graphical function call tree as well as a text profile pertaining to your code. Xprofiler can be used to profile sequential and parallel C, C++, Fortran 90, Fortran77 and HPF programs. To use Xprofiler, you first compile and link your program to ensure that profiling is enabled, then run the program to produce gmon.out file(s) (one for each processor involved in the execution) and finally invoke the xprofiler utility to display the profiling information. Xprofiler provides CPU (busy) data only. It cannot be used to provide information such as I/O or communication data. Compiling and Linking your ProgramTo generate profiling information, it is necessary to compile and link using the "-g -pg" options. % xlf -o executable -g -pg source.f % mpxlf90 -o executable -g -pg source.f % mpcc -o executable -g -pg source.c % mpCC -o executable -g -pg source.C Notes
Generating the ProfileAfter compiling and linking your program, run it in the normal way : % poe ./executable -procs n -nodes n When your program has completed, your current working directory will contain gmon.out files corresponding to each processor involved in the execution. These files are are named gmon.out.<processor-id>. Notes
Invoking xprofilerTo start xprofiler use : % xprofiler executable [-s] [gmon.out.<processor-id>] This will display profile information graphically Interpreting the DisplayXprofiler displays the profiled program in a single window. Green boxes represent functions and the calls between them are illustrated as blue arrows. The size and shape of each function box indicates its CPU usage. The height of the function box represents the CPU time it spent executing itself (exclusive time), while the width of the function box is representative of the amount of CPU time it spent executing itself plus its descendant functions (inclusive time). Each function box has a label stating the name of the function as well as the inclusive and exclusive CPU time values. The number of calls to a function are displayed on the blue arrow. Note it may be necessary to Zoom In i.e. View -> Zoom In to see these labels. Notes/Recommendations
Xprofiler MenusFunction MenuThis is available by clicking on the function box for the relevant function with the rightmost mouse button. A useful statistic is the no. of ticks per line of source code. This is useful to help locate the line(s) of source code where most CPU time is consumed as shown in the display. Text ProfileThe text profile pertaining to your application is available from the Report menu. The Flat Profile, Call Graph Profile and Function Index reports are identical to the output from the gprof profiler. The Library Statistics option provides timing information on the various libraries and external objects which are employed while the Function Call Summary reports statistics on calls between functions in the application. The flat profile pertaining to our sample code Saving ResultsAs stated above, results of profiling may be lost at logout since xprofiler must run in $TMPDIR. Saving profiler reports and graphs is recommended before logging out. To save the displayed call graph, use File -> Screen Dump. It is necessary to first set various save options (e.g. save to file or send to printer) using Set Options... and then Select Target Window using the mouse to select the display region to be saved. CommentXprofiler provides a qualitative view of the function call tree for a particular execution of your code. It is mainly a graphical interface to the gprof profiler but users should find xprofiler useful for its ability to display an annotated source and assembly listing. In particular, the "number of ticks" statistic isolates the source/assembly lines where most cycles are consumed. Additional Information |
![]() |
Page last modified: Mon, 11 Jan 2010 21:25:15 GMT Page URL: http://www.nersc.gov/nusers/resources/software/ibm/xprofiler/ Web contact: webmaster@nersc.gov Computing questions: consult@nersc.gov Privacy and Security Notice |
![]() |