2010 · 515 citations · 5 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureParallel ComputingSystem-on-chip DesignCache Behavior AnalysisInstruction Set ArchitectureMemory Hierarchy OptimizationMulticore Processor DesignShared-memory MultiprocessingShared-memory ParallelismCounter MetricsHardware Performance CountersMicroarchitecture PerformanceMicroarchitecture Performance EvaluationMulticore ArchitecturesMulticore SystemsShared MemoryThread Affinity
Exploiting the performance of today's processors requires intimate knowledge of the microarchitecture as well as an awareness of the ever-growing complexity in thread and cache topology. LIKWID is a set of command-line utilities that addresses four key problems: Probing the thread and cache topology of a shared-memory node, enforcing thread-core affinity on a program, measuring performance counter metrics, and toggling hardware prefetchers. An API for using the performance counting features from user code is also included. We clearly state the differences to the widely used PAPI interface. To demonstrate the capabilities of the tool set we show the influence of thread pinning on performance using the well-known OpenMP STREAM triad benchmark, and use the affinity and hardware counter tools to study the performance of a stencil code specifically optimized to utilize shared caches on multicore chips.
5
PAPI: A Portable Interface to Hardware Performance Counters
Shirley Browne, Christine Deane, G.T.S. Ho et al. · HPCMP Users Group Conference · 1999 · 427 citations