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.


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.

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.

PmcTools/PmcProjects (last edited 2009-11-03T23:06:46+0000 by GeorgeNevilleNeil)