Skip to content
Thomas Roehl edited this page Nov 9, 2015 · 34 revisions

Motivation

This is an effort to develop easy to use but yet powerful performance tools for the GNU Linux operating system. While the focus of LIKWID is on x86 processors some of the tools are portable and not limited to any specific architecture. LIKWID follows the philosophy:

  • Simple
  • Efficient
  • Portable
  • Extensible

LIKWID includes the following tools:

  • likwid-topology : A tool to display the thread and cache topology on multicore/multisocket computers
  • likwid-perfctr : A tool to measure hardware performance counters on recent Intel and AMD processors. It can be used as wrapper application without modifying the profiled code or with a marker API to measure only parts of the code.
  • likwid-pin : A tool to pin your threaded application without changing your code. Works for pthreads and 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. With integrated likwid-perfctr support.
  • likwid-powermeter : Tool for accessing RAPL counters and query Turbo mode steps on Intel processor. RAPL counters are also available in likwid-perfctr.
  • likwid-memsweeper : Tool to cleanup ccNUMA domains and last level caches.
  • likwid-setFrequencies : Tool to set the clock frequency of CPU cores.
  • likwid-agent : Monitoring agent for LIKWID with multiple output backends.
  • likwid-genTopoCfg : Config file writer that saves system topology to file for faster startup.
  • likwid-perfscope : Tool to perform live plotting of performance data using gnuplot.

There was a BOF session on LIKWID at the ISC 13 conference. You can find the slides here: BOF-slides

Papers you may find useful while using LIKWID:

A demo for a root exploit involving the MSR device files was published. As a consequence the security settings for access to the MSR device files are tightened in recent kernels.

Just setting the file access rights or using suid root on the access daemon is not sufficient anymore. You have to register your binary now to get access.

This is done by calling

sudo setcap cap_sys_rawio+ep EXECUTABLE

on the executables. This is only possible on local file systems.

Wiki Overview

  • How to Build and install LIKWID.
  • Known Issues for latest stable release
  • The Changelog of the current release
  • Be involved in the development of LIKWID on the Ideapad.
  • Planning of upcoming releases on the ProjectPad.

Acknowledgement

If you use LIKWID for scientific work you can cite us as:

J. Treibig, G. Hager and G. Wellein: LIKWID: A lightweight performance-oriented tool suite for x86 multicore environments. Proceedings of PSTI2010, the First International Workshop on Parallel Software Tools and Tool Infrastructures, San Diego CA, September 13, 2010. DOI: 10.1109/ICPPW.2010.38 Preprint: http://arxiv.org/abs/1004.4431

Bibtex:
@inproceedings{psti,
author = {Treibig, J. and Hager, G. and Wellein, G.},
booktitle = {Proceedings of PSTI2010, the First International Workshop on Parallel Software Tools and Tool Infrastructures},
title = {LIKWID: A lightweight performance-oriented tool suite for x86 multicore environments},
year = {2010},
address = {San Diego CA},
}

Moreover, we did some tests regarding the overhead of LIKWID and other performance monitoring interfaces:

Roehl, T.; Treibig, J.; Hager, G.; Wellein, G.: "Overhead Analysis of Performance Counter Measurements," 43rd International Conference on Parallel Processing Workshops (ICCPW), 2014, pp.176,185, 9-12 Sept. 2014, DOI: 10.1109/ICPPW.2014.34 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7103452&isnumber=7103416

Bibtex:
@inproceedings{7103452,
author={Roehl, T. and Treibig, J. and Hager, G. and Wellein, G.},
booktitle={43rd International Conference on Parallel Processing Workshops (ICCPW)},
title={Overhead Analysis of Performance Counter Measurements},
year={2014},
month={Sept},
pages={176-185},
doi={10.1109/ICPPW.2014.34},
ISSN={1530-2016},
}

Clone this wiki locally