
|
 |
|
CodeAnalyzer
|  |
Overview
|
 |
|
CodeAnalyzer is an Eclipse-based plugin that can display feedback-directed performance information about a given application.
Code Analyzer is part of the Visual Performance Analyzer (VPA) tool which includes additional performance analysis plugins: Performance Analyzer and Pipeline Analyzer.
Visual Performance Analyzer can be downloaded from IBM alphaworks site.
CodeAnalyzer is able to read in profiling information generated by the tprof or FDPR performance tools.
CodeAnalyzer analyzes executable files and shared libraries by using FDPR. FDPR is a post-link analyzer and performance optimization tool, which can perform accurate analysis on executable files and DLLs.
Using FDPR instrumentation, CodeAnalyzer enables you to instrument executables or shared libraries in order to collect accurate frequency statistics. This profiling mode collects edge profiling information, which cannot be collected using regular sampling techniques. The profiling information gathered by FDPR is then passed on to CodeAnalyzer to be embedded with the static view of the program code and data.CodeAnalyzer receives all necessary analysis data and instrumentation capabilities through native API libraries of FDPR using the JNI interface.
Click to see full size
CodeAnalyzer displays various kinds of information for a given application, such as assembly instructions, basic blocks, functions, CSECT modules, control flow graph, hot loops, call graph, and annotated code. In addition, CodeAnalyzer can map given assembly (or machine) code back to its source code, when source files are available.
Additional information displayed by CodeAnalyzer includes the static and dynamic data accessed by the given application, various performance statistics and specific Power architecture performance bottlenecks.
Code Analyzer provides performance-related comments and notifications about potential optimizations on both, the assembly and the source code of the program. This information is then used to identify potential bottlenecks in the program.
The following image shows multiple views of Code Analyzer displaying assembly-level comments and their mapping to the source code:
Code Analyzer also provides performance comments directly on the source code.
The following image shows a simple comment of invariant code located within a frequently executed loop:
Publications
|
 |
|
- D. Vianney, G. Haber, A. Heilper and M. Zalmanovici,
Performance Analysis and Visualization Tools for Cell/B.E. Multicore Environment,
First International Forum on Next-Generation Multicore/Manycore Technologies,
Cairo Egypt, November 24-25, 2008
- G. Haber,
Chapter 4. Code Analyzer,
"IBM Visual Performance Analyzer User Guide",
http://dl.alphaworks.ibm.com/technologies/vpa/vpa.pdf
- G. Haber,
Tutorial - Performance Tools for Understanding the Behavior of Multicore Programs,
Tutorial in the third Israeli Workshop on Multicore (CMP III), Technion, Israel, Feb. 3, 2009,
presented coding examples: http://sysrun.haifa.il.ibm.com/hrl/euler_example_for_cell,
presented foils: http://workshop.ee.technion.ac.il/upload/Events/CMP/Haber.pdf
- G. Haber, B. Mendelson and T. Chen,
Performance Tools for Understanding the Behavior of Running Programs on the Cell B.E.,
Tutorial in the 41st International Symposium on Microarchitecture (Micro 41),
http://sysrun.haifa.il.ibm.com/hrl/micro-41-2008/,
presented foils: http://sysrun.haifa.il.ibm.com/hrl/micro-41-2008/present/micro41_cell_tools_tutorial_4.pdf>
- G. Haber,
Cell Broadband Engine SDK 3.0 tools, Part 1: Using performance tools,
published on IBM developerWorks,
http://www.ibm.com/developerworks/edu/pa-dw-pa-sdk3tool.html
- G. Haber,
Chapter 6. Using Performance Tools,
IBM Redbook on "Programming the Cell Broadband Engine: Examples and Best Practices",
http://www.redbooks.ibm.com/abstracts/sg247575.html
|
 |
|
 |
|