Table of Contents
- 3.1. Running the Application
- 3.2. Profiling each call to a function
- 3.3. Selectively Profiling an Application
- 3.4. Running an application using DynInstAPI
- 3.5. Dynamically Instrumenting MPI applications
- 3.6. Using Multiple Hardware Counters for Measurement
- 3.7. Using Hardware Performance Counters
- 3.8. Profiling with PerfLib
- 3.9. Running a Python application with TAU
- 3.10. pprof
- 3.11. Running a JAVA application with TAU
This chapter describes running an instrumented application and the generation and subsequent analysis of profile data. Profiling shows the summary statistics of performance metrics that characterize application performance behavior. Examples of performance metrics are the CPU time associated with a routine, the count of the secondary data cache misses associated with a group of statements, the number of times a routine executes, etc.
After instrumentation and compilation are completed, the profiled
application is run to generate the profile data files. These files can be
stored in a directory specified by the environment variable
PROFILEDIR as explained in Chapter 2. By default, all
instrumented routines and statements are measured. Example:
% setenv PROFILEDIR /home/sameer/profiledata/experiment55 % mpirun -np 4 matrix