Likwid logo

Likwid

Comprehensive CLI suite for low‑level CPU/GPU performance analysis

LIKWID provides a lightweight command‑line toolkit and library to query topology, pin threads, read hardware counters, measure power, and benchmark on Intel, AMD, ARM, POWER CPUs and Nvidia/AMD GPUs.

Likwid banner

Overview

Overview

LIKWID is a lightweight command‑line toolkit and accompanying library aimed at performance‑oriented developers working on Linux. It provides utilities to discover hardware topology, pin threads, read a wide range of hardware performance counters, measure energy via RAPL, and run micro‑benchmarks. The suite supports Intel, AMD, ARM (v7/v8), IBM POWER CPUs and, with optional build flags, Nvidia and AMD GPUs.

Capabilities

The individual tools cover common profiling needs: likwid-topology prints cache and NUMA layout, likwid-perfctr configures and reads counters, likwid-powermeter gathers power data, likwid-pin enforces thread placement, and likwid-mpirun wraps MPI launches for hybrid applications. Additional helpers such as likwid-bench, likwid-memsweeper, and likwid-setFrequencies enable low‑level benchmarking and frequency control. Installation is performed from source tarballs with a simple make && sudo make install workflow, and the build system allows architecture‑specific compiler selection.

Highlights

Unified interface for CPU topology, counters, and power across multiple architectures
Thread pinning and MPI wrapper simplify hybrid parallel launches
Micro‑benchmarking and memory sweep tools for cache behavior analysis
Optional GPU support for Nvidia and AMD via configurable build flags

Pros

  • Supports a wide range of x86, ARM, and POWER CPUs
  • Zero‑runtime overhead for most tools
  • Simple source‑based installation
  • Extensible library for custom instrumentation

Considerations

  • Limited to Linux; no Windows or macOS support
  • GPU support requires manual build configuration
  • ARMv7 and POWER8/9 support is untested on available hardware
  • No graphical user interface; operates via command line

Managed products teams compare with

When teams consider Likwid, these hosted platforms usually appear on the same shortlist.

Blackfire Continuous Profiler logo

Blackfire Continuous Profiler

Low-overhead continuous profiling for app performance optimization.

Datadog Continuous Profiler logo

Datadog Continuous Profiler

Always-on code profiling to cut latency and cloud costs.

Elastic Universal Profiling logo

Elastic Universal Profiling

Whole-system, always-on profiling with no instrumentation.

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Performance engineers needing low‑level hardware metrics
  • Developers optimizing MPI/OpenMP applications
  • Researchers profiling CPU/GPU power consumption
  • System administrators analyzing NUMA and cache topology

Not ideal when

  • Users requiring cross‑platform GUI tools
  • Environments without root access for daemon installation
  • Workloads on non‑Linux operating systems
  • Those needing out‑of‑the‑box Windows driver support

How teams use it

Thread placement optimization for OpenMP code

Pinning threads with likwid-pin reduces contention and improves scaling on multi‑socket systems.

Measuring L2 cache bandwidth during kernel execution

likwid-perfctr reports per‑core counters, enabling identification of cache bottlenecks.

Energy profiling of a scientific MPI application

likwid-powermeter captures RAPL energy and turbo mode steps, guiding power‑aware tuning.

Benchmarking GPU kernels on Nvidia hardware

Enabling the Nvidia interface lets likwid-perfctr collect GPU performance counters alongside CPU metrics.

Tech snapshot

C81%
Perl10%
Lua4%
Assembly2%
Makefile1%
Python1%

Tags

hardware-performance-countersluaperformance-analysislikwidnvidia-gpuhwlocpinassemblypower9performance-engineeringx86profilingthreadingbenchmarkingclinuxinstrumentationarmv8amd-gpu

Frequently asked questions

What operating systems does LIKWID run on?

LIKWID is designed for Linux systems only.

Do I need root privileges to use the tools?

Most utilities run as a regular user, but installing the daemon and accessing certain hardware counters may require sudo.

How do I enable GPU support?

Set `NVIDIA_INTERFACE=true` or `ROCM_INTERFACE=true` in `config.mk` and rebuild the suite.

Can LIKWID be used with MPI applications?

Yes, `likwid-mpirun` wraps MPI launches and supports Intel MPI, OpenMPI, MPICH, and SLURM.

Is there a pre‑compiled package?

Releases are provided as source tarballs; you compile them using the supplied Makefile.

Project at a glance

Active
Stars
1,874
Watchers
1,874
Forks
254
LicenseGPL-3.0
Repo age10 years old
Last commit6 days ago
Primary languageC

Last synced 4 hours ago