Pmctools: Potential users of hwpmc(4)
This is a list of projects that could use hwpmc(4) and PMC based performance measurements.
This page has some overlap with PmcTools/PmcResearch.
Dyninst
Port Dyninst or other executable editing toolkit to FreeBSD and use it to dynamically instrument executables to read PMC data using the RDPMC instruction on x86 processors. This would allow us to do fine-grained measurement of i- and d-cache behaviour inside 'hot' functions without having the overhead of instrumenting all the functions in an executable. This feature would probably useful in conjunction with the GUI tool described in PmcTools/PmcResearch.
Dyninst however is distributed under an un-BSD-like license. I'd really prefer to use an equivalent BSD-licensed library if it exists. See also: ElfToolChain.
PAPI for FreeBSD
Port over the PAPI interface to hwpmc. PAPI is a popular programming interface for scientific applications that desire to use hardware performance counters.
Project Home page: http://code.google.com/p/papi-for-freebsd/
- People known to be working on PAPI porting include:
Harald Servat redcrash@gmail.com
George Neville-Neil gnn@freebsd.org
This work is available as a FreeBSD port (/usr/ports/devel/papi).
The PAPI library currently works on modern Intel hardware including Penryn and Nehalem (as of 3.7.x)
A PmcTools based Performance Visualizer
Described in the PmcTools/PerformanceVisualizer page.