Question about the output of likwid-perfctr

39 views
Skip to first unread message

jeff ma

unread,
Apr 10, 2014, 6:37:26 PM4/10/14
to likwid-d...@googlegroups.com
Hello,

I am new to use likwid-perfctr to get L3 cache misses. After I ran likwid-perfctr with an application,  I got the number of misses of each core.  Does each number mean the L3 misses caused by  this application, or caused by all running applications (if there are multiple application running concurrently)?

Thanks,

Jeff

Georg Hager

unread,
Apr 11, 2014, 3:02:31 AM4/11/14
to likwid-d...@googlegroups.com
likwid-perfctr measures what happens on the designated cores, independent of what is running there. It is the responsibility of the user to make sure that the cores on which events are counted do actually run the right application. As usual, benchmarking works best if you have an exclusive system.

Cheers
Georg.

Sonal Aggarwal

unread,
Apr 23, 2014, 3:25:56 PM4/23/14
to likwid-d...@googlegroups.com
I am using likwid-perfctr to get energy, run time and power measurements while running different programs. Now these programs are compiled using intel's icpc compiler and use cilk for multithreading. Inside the program I get the nworker count ( which is the process threads running )to be 32. 

This command likwid-perfctr -c 0-31 -g ENERGY ./EXECUTABLE
 on running gives me energy values on all the 32 cores ( 16 cores with two threads each). The output shows that only two cores are being utilized as only they show some energy values.

What might be the possible reason to this? 

moebiusband

unread,
Apr 23, 2014, 3:58:04 PM4/23/14
to likwid-d...@googlegroups.com
Hi,

the reason is that RAPL (the Energy counter) is valid or available once per chip. In likwid for these counters a so called socket lock is used. Therefore only one core per socket measures this counter.

If you measure from outside for the overall execution and if you are not interested in core events  it is sufficient to do e.g.:

likwid-perfctr -g ENERGY  -c S0:0@S1:0  ./youcommand

Otherwise you may also measure all processors.

Jan

Sonal Aggarwal

unread,
Apr 24, 2014, 7:05:13 PM4/24/14
to likwid-d...@googlegroups.com
Thanks for reaching back.

How do we measure energy on all processors. Actually even on specifying thread count to be 32 I energy is used only in two cores. Is it the sum of the energies of all the cores in a socket?

Georg Hager

unread,
Apr 25, 2014, 9:20:17 AM4/25/14
to likwid-d...@googlegroups.com
Hi,

it is not possible to measure energy on individual cores, because there is only one RAPL facility on the whole chip. So yes, the measured energy is the sum of the energies consumed by all cores and the L3 an all the remaining logic on the chip. So if you are only interested in energy, it is sufficient to use the command line Jan has proposed, with S0:0@S1:0 as the core list.Only one core per chip will get non-zero RAPL counts.

Cheers
Georg.
Reply all
Reply to author
Forward
0 new messages