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:

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