Exploiting the performance of today's processors requires , apart from an intimate knowledge of the microarchitecture , taking into account the influence of an ever-growing complexity in thread and cache topology. LIKWID is a collection of small command line applications that support inexperienced as well as seasoned programmers in developing and running software in an efficient way. The development of LIKWID is targeted on providing access to performance-oriented tooling in a transparent and easy manner. We present the four tools that comprise LIKWID and show the influence of thread pinning on performance using the well-known OpenMP STREAM triad benchmark . On the example of a stencil code specifically optimized to utilize cache topology we demonstrate the usage of likwid-pin and likwid-perfCtr .
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 .
D
, apart from an
R
, taking into account the influence of an
as well as an awareness of the
R
collection of small command line applications that support inexperienced as well as seasoned programmers in developing and running software in an efficient way. The development of LIKWID is targeted on providing access to performance-oriented tooling in a transparent and easy manner. We present the four tools that comprise LIKWID and
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
R
. On the example
, and use the affinity and hardware counter tools to study the performance
R
cache topology we demonstrate the usage of likwid-pin and likwid-perfCtr
shared caches on multicore chips