LIKWID - Like I Knew What I'm Doing
LIKWID.jl is a Julia wrapper for the performance monitoring and benchmarking suite LIKWID. It is an effort by the Paderborn Center for Parallel Computing (PC²) and, originally, the MIT JuliaLab.
Installation
Prerequisites:
- You must have
likwid
installed (see the build & install instructions). - You must be running Linux. (LIKWID doesn't support macOS or Windows.)
LIKWID.jl is a registered Julia package. Hence, you can simply add it to your Julia environment with the command
] add LIKWID
LIKWID.jl vs LinuxPerf.jl
As per default (and recommendation) LIKWID(.jl) uses a custom access daemon to monitor hardware performance counters. In contrast, LinuxPerf.jl uses Linux's perf_events
. However, it is possible to make LIKWID use perf_events
as an alternative (inferior) backend. See here for more information.
Supported CPUs
julia> LIKWID.print_supported_cpus()
Supported Intel processors: Intel Core 2 65nm processor Intel Core 2 45nm processor Intel Xeon MP processor Intel Atom 45nm processor Intel Atom 32nm processor Intel Atom 22nm processor Intel Core Bloomfield processor Intel Core Lynnfield processor Intel Core Westmere processor Intel Nehalem EX processor Intel Westmere EX processor Intel Core SandyBridge processor Intel Xeon SandyBridge EN/EP processor Intel Core IvyBridge processor Intel Xeon IvyBridge EN/EP/EX processor Intel Core Haswell processor Intel Xeon Haswell EN/EP/EX processor Intel Atom (Silvermont) processor Intel Atom (Airmont) processor Intel Xeon Phi (Knights Corner) Coprocessor Intel Core Broadwell processor Intel Xeon D Broadwell processor Intel Xeon Broadwell EN/EP/EX processor Intel Atom (Goldmont) processor Intel Xeon Phi (Knights Landing) (Co)Processor Intel Skylake processor Intel Skylake SP processor Intel Xeon Phi (Knights Mill) (Co)Processor Intel Kabylake processor Intel Coffeelake processor Intel Cascadelake SP processor Intel Tigerlake processor Intel Icelake processor Intel Rocketlake processor Intel Icelake SP processor Supported AMD processors: AMD Opteron single core 130nm processor AMD Opteron Dual Core Rev E 90nm processor AMD Opteron Dual Core Rev F 90nm processor AMD K10 (Barcelona) processor AMD K10 (Shanghai) processor AMD K10 (Istanbul) processor AMD K10 (Magny Cours) processor AMD Interlagos processor AMD Family 16 model - Kabini processor AMD K17 (Zen) architecture AMD K17 (Zen2) architecture AMD K19 (Zen3) architecture Supported ARMv8 processors: ARM Cortex A53 ARM Cortex A57 Cavium Thunder X (ARMv8) Cavium Thunder X2 (ARMv8) Fujitsu A64FX Supported ARMv7 processors: ARM 7l architecture Supported POWER processors: POWER8 architecture POWER9 architecture