@article {moore2011userdefined,
	title = {User-Defined Events for Hardware Performance Monitoring},
	journal = {Procedia Computer Science},
	volume = {4},
	year = {2011},
	month = {2011-05},
	pages = {2096-2104},
	publisher = {Elsevier},
	abstract = {PAPI is a widely used cross-platform interface to hardware performance counters. PAPI currently supports native events, which are those provided by a given platform, and preset events, which are pre-defined events thought to be common across platforms. Presets are currently mapped and defined at the time that PAPI is compiled and installed. The idea of user-defined events is to allow users to define their own metrics and to have those metrics mapped to events on a platform without the need to re-install PAPI. User-defined events can be defined in terms of native, preset, and previously defined user-defined events. The user can combine events and constants in an arbitrary expression to define a new metric and give a name to the new metric. This name can then be specified as a PAPI event in a PAPI library call the same way as native and preset events. End-user tools such as TAU and Scalasca that use PAPI can also use the user-defined metrics. Users can publish their metric definitions so that other users can use them as well. We present several examples of how user-defined events can be used for performance analysis and modeling.},
	keywords = {mumi, papi},
	doi = {https://doi.org/10.1016/j.procs.2011.04.229},
	author = {Shirley Moore and James Ralph}
}
