116
POWER7 and Optimization and Tuning Guide
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.
Summary of Contents for Power System POWER7 Series
Page 2: ......
Page 36: ...20 POWER7 and POWER7 Optimization and Tuning Guide...
Page 70: ...54 POWER7 and POWER7 Optimization and Tuning Guide...
Page 112: ...96 POWER7 and POWER7 Optimization and Tuning Guide...
Page 140: ...124 POWER7 and POWER7 Optimization and Tuning Guide...
Page 162: ...146 POWER7 and POWER7 Optimization and Tuning Guide...
Page 170: ...154 POWER7 and POWER7 Optimization and Tuning Guide...
Page 223: ......