LIKWID: A lightweight performance-oriented tool suite for x86 multicore environments
arXiv:1004.4431
Abstract
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.
10 pages, 11 figures. Some clarifications and corrections
References in corpus (2)
Cited by in corpus (7)
- Predictive Performance Modeling for Distributed Computing using Black-Box Monitoring and Machine Learning
- Comparing the Performance of Different x86 SIMD Instruction Sets for a Medical Imaging Application on Modern Multi- and Manycore Chips
- Pushing the limits for medical image reconstruction on recent standard multicore processors
- Bandwidth-Aware Page Placement in NUMA
- Massively Parallel Phase-Field Simulations for Ternary Eutectic Directional Solidification
- Monitoring in the Clouds: Comparison of ECO2Clouds and EXCESS Monitoring Approaches
- Performance engineering for the Lattice Boltzmann method on GPGPUs: Architectural requirements and performance results