Questions tagged [likwid]

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 for likwid-perfctr timeline 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, likwid tries 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, likwid supports Intel and AMD processors;
  • Up to date, likwid tries to fully support new processors as soon as possible;
  • Extensible, you can add functionality by means of simple text files.
8 questions
11
votes
2 answers

perf stat for part of program

Is it possible with perf to collect hardware counter statistics for only part of a program's execution? If so, how? likwid offers the feature of being able to define named regions, but it would be great if this was possible on systems with just perf…
user2548418
  • 1,531
  • 10
  • 17
5
votes
1 answer

mpirun --cpu-set vs. --rankfile (Open MPI) 1.4.5

I want to accurately pin my MPI processes to a list of (physical) cores. I refer to the following points of the mpirun --help output: -cpu-set|--cpu-set Comma-separated list of ranges specifying logical …
el_tenedor
  • 644
  • 1
  • 8
  • 19
2
votes
0 answers

Why does deno take a different amount of time depending on the command line used to invoke it?

I'm running a few benchmarks like this: likwid-powermeter deno run scripts/sets.deno.js 1024 This will return something like this: Runtime: 2.99816 s Measure for socket 0 on CPU 0 Domain CORE: Energy consumed: 39.3306 Joules Power consumed: 13.1182…
jjmerelo
  • 22,578
  • 8
  • 40
  • 86
2
votes
0 answers

Compare perf-stat results to that of likwid-perfctr results

I want to do some comparison between the outputs of perf-stat to that of likwid-perfctr. Is there a way to do that. I tried running two commands, one for perf-stat, and the other for liquid-perfctr. The commands are: sudo perf stat -C 2 -e…
1
vote
1 answer

Which process goes to which cpu socket in MPI?

I am running a MPI program and in my hostfile I have only one node. The node has 2 scokets, 8 physical cores each and the hyperthreading is disabled. mpiexec -n 8 -f /pathtohostfile/host_file_test ./a.out I am using likwid to measure energy consumed…
Vivek Mahto
  • 194
  • 1
  • 17
1
vote
1 answer

likwid-perfctr doesn't work on ryzen 5 3600

I'm trying to use likwid (I've used before, but the system was set by a professor, so I had never installed it. I followed every step listed for the installation) on my Ryzen 5 3600 and it only works partially. Some commands such as likwid-topology…
1
vote
1 answer

Accessing performance counters using likwid-perfctr

I have been using likwid (link) for accessing performance counters in my dual socket Intel Xeon E5 2660 v4 processors. I was able to use the tool (likwid-perfctr) successfully until last december. When I got back to the tool today after almost a…
1
vote
0 answers

Difference between mispredicted branches retired and mispredicted branches executed

I have an unusual case where I'm examining a relatively trivial Java which should have well predicted branching behavior, but likwid-perfctr reports a huge (50%) branch mispredict rate. However, the runtime is not consistent with that misprediction…
BeeOnRope
  • 60,350
  • 16
  • 207
  • 386