Acceptable Input Formats; General Operation - IBM Power7 Optimization And Tuning Manual

Table of Contents

Advertisement

6.3.3 Acceptable input formats

The input binary can be a main executable program or a shared library, originally written in
any language (for example, C, C++, or Fortran), if it is statically compiled. Thus, Java byte
code is not acceptable. Code that is written in assembly language is acceptable, but must
follow the Power ABI convention. For more information, see 64-bit PowerPC ELF Application
Binary Interface Supplement 1.9, available at:
http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.pdf
It is important that the file includes relocation information. Although this is the default in AIX,
on Linux you must add -Wl,-q, or -Wl,--emit-relocs to the command used for linking the
program (or -q if the ld command is used directly).
The input binary can include debug information. FDPR correctly processes line number
information so that the optimized output can be debugged.

6.3.4 General operation

FDPR is started by running the fdprpro program as follows:
$ fdprpro -a action [-p] in -o out -f prof [opt ...]
The action indicates the specific processing that is requested. The most common ones are
instr for the instrumentation step and opt for the optimization step.
The in, out, and prof indicate the input and output binary files and profile files.
FDPR comes also with a wrapper command, named fdpr, which performs the
instrumentation, profiling, and optimization under one roof. Run man fdpr for more information
about this wrapper.
Special input and output files
FDPR has a number of options that control input and output files. One option that controls the
input files is --ignored-function-list file (-ifl file).
In some cases, the structure of some functions confuses FDPR, which can result in bad code
generation. The file that is specified by --ignored-function-list file (-ifl file) contains
a list of functions that are considered unsafe for optimization. This configuration prevents the
potential bad code generation that might otherwise occur.
In addition to the profile and the instrumented and output optimized files, FDPR can optionally
produce various secondary files to help you understand the static and dynamic nature of the
input binary program. These secondary files have the same base name as the output file and
a special extension. The options that control important output files are:
--disassemble_text (-d) and --dump-mapper (-dm): The -d option creates a disassembly
of (the code segment) of the program (extension .dis_text). The disassembly is useful to
understand the structure of program as analyzed or created by FDPR. The -dm option
produces a mapping of basic-blocks from their original address to their address in the
optimized code. This mapping can be used, for example, to understand how a specific
piece of code was broken, or for user-specific
post-processing tools.
--dump-ascii-profile (-dap): This option dumps the profile file in a human readable
ASCII format (extension .aprof). The .aprof file is useful for manual inspection or
user-defined post-processing of the collected profile.
116
POWER7 and POWER7+ Optimization and Tuning Guide

Advertisement

Table of Contents
loading

This manual is also suitable for:

Power7+

Table of Contents