lightweight collection of command line tools for the performance oriented programmer.
Likwid stands for Like I knew what I am doing. This project contributes easy to use command line tools for Linux to support programmers in developing high performance multi threaded programs.
It contains the following tools:
likwid-topology: Show the thread and cache topology;likwid-perfctr: Measure hardware performance counters on Intel and AMD processors;likwid-features: Show and Toggle hardware prefetch control bits on Intel Core 2 processors;likwid-pin: Pin your threaded application without touching your code (supports pthreads, Intel OpenMP and gcc OpenMP);likwid-bench: Benchmarking framework allowing rapid prototyping of threaded assembly kernels;likwid-mpirun: Script enabling simple and flexible pinning of MPI and MPI/threaded hybrid applications;likwid-perfscope: Frontend forlikwid-perfctrtimeline mode. Allows live plotting of performance metrics;likwid-powermeter: Tool for accessing RAPL counters and query Turbo mode steps on Intel processor;likwid-memsweeper: Tool to cleanup ccNUMA memory domains.
Likwid stands out because:
- No kernel patching, any vanilla linux 2.6 or newer kernel works;
- Transparent, always clear which events are chosen, event tags have the same naming as in documentation;
- Lightweight,
likwidtries to add no overhead and keeps out of your way; - Easy to use, simple to build, no need to touch your code, configurable from outside;
- Clear CLI interface;
- Multiplatform,
likwidsupports Intel and AMD processors; - Up to date,
likwidtries to fully support new processors as soon as possible; - Extensible, you can add functionality by means of simple text files.