Hardware counter overflow profiling data is converted into count metrics by summing the overflow values. For counters that count in cycles, the count metrics are converted into times using the average clock frequency of all the CPUs in the machine on which the program was run.
The counters available depend on the CPU microprocessor and the operating environment. The names of the counters are the names that are used by cputrack. Some of the more commonly used counters have aliases for these names. You can obtain a list of counters including aliased names by typing collect in a terminal window.
Clock-based profiling and hardware counter overflow profiling for applications written in the JavaTM programming language work just as for C, C++, and Fortran programs, except that that both Java call stacks and machine call stacks are collected. Note that for both clock-based profiling and hardware counter overflow profiling, the data collection process makes various calls into the JavaTM Virtual Machine (JVM) software, and handles profiling events in signal handlers. The overhead of these routines, and the cost of writing the experiments to disk dilates the runtime of the program. For the most part, this dilation is estimated to be less than 10%.
Note: the terms "Java Virtual Machine" or "JVM" mean a virtual machine for the Java platform.
In addition, although the default garbage collector supports the JavaTM Virtual Machine Profiler Interface (JVMPI), other garbage collectors do not. Any data collection run specifying such a garbage collector gets a fatal error.
To interpret hardware counter metrics you need to have some understanding of how the hardware works. For information on the hardware, refer to the hardware manuals for your particular system.
See also | |
---|---|
Timing Metrics Thread Synchronization Delay Metrics Memory Allocation Metrics MPI Tracing Metrics Exclusive, Inclusive, and Attributed Metrics Setting Data Presentation Preferences |