|
Packit |
577717 |
------------------------------------------------------
|
|
Packit |
577717 |
libpfm-3.10:
|
|
Packit |
577717 |
a helper library to program the Performance Monitoring Unit (PMU)
|
|
Packit |
577717 |
------------------------------------------------------
|
|
Packit |
577717 |
Copyright (c) 2001-2007 Hewlett-Packard Development Company, L.P.
|
|
Packit |
577717 |
Contributed by Stephane Eranian <eranian@hpl.hp.com>
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
This package provides a library, called libpfm, which can be used
|
|
Packit |
577717 |
to develop monitoring tools which use the Performance Monitoring Unit (PMU)
|
|
Packit |
577717 |
of several modern processors.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
This version of libpfm supports:
|
|
Packit |
577717 |
- For Intel IA-64:
|
|
Packit |
577717 |
Itanium (Merced), Itanium 2 (McKinley, Madison, Deerfield),
|
|
Packit |
577717 |
Itanium 2 9000/9100 (Montecito, Montvale) and Generic
|
|
Packit |
577717 |
- For AMD X86:
|
|
Packit |
577717 |
AMD64 (K8, family 10h)
|
|
Packit |
577717 |
- For Intel X86:
|
|
Packit |
577717 |
Intel P6 (Pentium II, Pentium Pro, Pentium III, Pentium M)
|
|
Packit |
577717 |
Intel Yonah (Core Duo/Core Solo),
|
|
Packit |
577717 |
Intel Netburst (Pentium 4, Xeon)
|
|
Packit |
577717 |
Intel Core (Merom, Penryn, Dunnington) Core 2 and Quad
|
|
Packit |
577717 |
Intel Atom
|
|
Packit |
577717 |
Intel Nehalem (Nehalem, Westmere)
|
|
Packit |
577717 |
Intel architectural perfmon v1, v2, v3
|
|
Packit |
577717 |
- For MIPS:
|
|
Packit |
577717 |
5K, 20K, 25KF, 34K, 5KC, 74K, R10000, R12000, RM7000, RM9000,
|
|
Packit |
577717 |
SB1, VR5432, VR5500, SiCortex ICA9A/ICE9B
|
|
Packit |
577717 |
- For Cray:
|
|
Packit |
577717 |
XT3, XT4, XT5, XT5h, X2
|
|
Packit |
577717 |
- For IBM:
|
|
Packit |
577717 |
IBM Cell processor
|
|
Packit |
577717 |
POWER: PPC970, PPC970MP, POWER4+, POWER5, POWER5+, POWER6, POWER7
|
|
Packit |
577717 |
- For Sun:
|
|
Packit |
577717 |
Sparc: Ultra12, Ultra3, Ultra3i, Ultra3Plus, Ultra4Plus,
|
|
Packit |
577717 |
Sparc: Niagara1, Niagara2
|
|
Packit |
577717 |
|
|
Packit |
577717 |
The core library is generic and does not depend on the perfmon interface. It is
|
|
Packit |
577717 |
possible to use it on other operating systems.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
WHAT'S THERE
|
|
Packit |
577717 |
-------------
|
|
Packit |
577717 |
- the library source code including support for all processors listed
|
|
Packit |
577717 |
above
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- a set of examples showing how the library can be used with the
|
|
Packit |
577717 |
perfmon2 and perfmon3 kernel interface.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- a set of older examples for IA-64 only using the legacy perfmon2
|
|
Packit |
577717 |
interface (v2.0).
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- a set of library header files and the perfmon2 and perfmon3 kernel
|
|
Packit |
577717 |
interface headers
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- libpfms: a simple library to help setup SMP system-wide monitoring
|
|
Packit |
577717 |
sessions. It comes with a simple example. This library is not part
|
|
Packit |
577717 |
of libpfm.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- man pages for all the library entry points
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- Python bindings for libpfm and the perfmon interface (experimental).
|
|
Packit |
577717 |
|
|
Packit |
577717 |
INSTALLATION
|
|
Packit |
577717 |
------------
|
|
Packit |
577717 |
- edit config.mk to :
|
|
Packit |
577717 |
- update some of the configuration variables
|
|
Packit |
577717 |
- make your compiler options
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- type make
|
|
Packit |
577717 |
- type make install
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- To compile and install the Python bindings, you need to go to the
|
|
Packit |
577717 |
python sub-directory and type make. Python is not systematically
|
|
Packit |
577717 |
built
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- to compile the library for another ABI (e.g. 32-bit x86 on a
|
|
Packit |
577717 |
64-bit x86) system, you can pass the ABI flag to the compiler as
|
|
Packit |
577717 |
follows (assuming you have the multilib version of gcc):
|
|
Packit |
577717 |
$ make OPTION="-m32 -O2"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
REQUIREMENTS:
|
|
Packit |
577717 |
-------------
|
|
Packit |
577717 |
- to run the programs in the examples subdir, you MUST be using a linux
|
|
Packit |
577717 |
kernel with perfmon3. Perfmon3 is available as a branch of the
|
|
Packit |
577717 |
perfmon kernel GIT tree on kernel.org.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- to run the programs in the examples_v2x subdir, you MUST be using a
|
|
Packit |
577717 |
linux kernel with perfmon2. Perfmon2 is available as the main branch
|
|
Packit |
577717 |
of the perfmon kernel GIT tree on kernel.org.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- On IA-64, the examples in old_interface_ia64_examples work with
|
|
Packit |
577717 |
any 2.6.x kernels.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
- to compile the Python bindings, you need to have SWIG and the python
|
|
Packit |
577717 |
development packages installed
|
|
Packit |
577717 |
|
|
Packit |
577717 |
DOCUMENTATION
|
|
Packit |
577717 |
-------------
|
|
Packit |
577717 |
- man pages for all entry points
|
|
Packit |
577717 |
- More information can be found on library web site:
|
|
Packit |
577717 |
http://perfmon2.sf.net
|