Hello,
I'm trying to learn how to use Likwid, but I've encoutered some problems with likwid-perfctr and I'm unsure if I'm doing something wrong or if there's indeed a problem in my machine/installation/likwid itself. Let me quickly run across my setup, as I had to make some changes to get it compiled.
I compiled likwid from trunk (rev591). During installation (to my HOMEDIR), the make install script could not chown likwid-accessD and likwid-setFreq to root:root (even with sudo), so I left them as user applications. I couldn't manually change it as well. I'm not sure what the impact is.
My machine is an AMD Interlagos. It has 4 NUMA nodes, but they are not sequential (nodes 0, 2, 4 and 6). This has caused this bug:
https://code.google.com/p/likwid/issues/detail?id=134. To bypass it, I commented out the offending line (again, this might be why I can't get likwid working).
Then i ran
$ ./likwid-perfctr -a
BRANCH Branch prediction miss rate/ratio
CACHE Data cache miss rate/ratio
CPI Cycles per instruction
DATA Load to store ratio
FLOPS_DP Double Precision MFlops/s
FLOPS_SP Single Precision MFlops/s
FPU_EXCEPTION Floating point exceptions
ICACHE Instruction cache miss rate/ratio
L2CACHE L2 cache miss rate/ratio
L2 L2 cache bandwidth in MBytes/s
L3CACHE L3 cache miss rate/ratio
L3 L3 cache bandwidth in MBytes/s
LINKS Bandwidth on the Hypertransport links
MEM Main memory bandwidth in MBytes/s
NUMA Read/Write Events between the ccNUMA nodes
$ ./likwid-perfctr -e
This architecture has 10 counters.
Counter tags(name, type<, options>):
PMC0, Core-local general purpose counters, OPCODE|MATCH0|MATCH1|EDGEDETECT|INVERT|COUNT_KERNEL
PMC1, Core-local general purpose counters, OPCODE|MATCH0|MATCH1|EDGEDETECT|INVERT|COUNT_KERNEL
PMC2, Core-local general purpose counters, OPCODE|MATCH0|MATCH1|EDGEDETECT|INVERT|COUNT_KERNEL
PMC3, Core-local general purpose counters, OPCODE|MATCH0|MATCH1|EDGEDETECT|INVERT|COUNT_KERNEL
PMC4, Core-local general purpose counters, OPCODE|MATCH0|MATCH1|EDGEDETECT|INVERT|COUNT_KERNEL
PMC5, Core-local general purpose counters, OPCODE|MATCH0|MATCH1|EDGEDETECT|INVERT|COUNT_KERNEL
UPMC0, Socket-local general/fixed purpose counters
UPMC1, Socket-local general/fixed purpose counters
UPMC2, Socket-local general/fixed purpose counters
UPMC3, Socket-local general/fixed purpose counters
This architecture has 570 events.
Event tags (tag, id, umask, counters<, options>):
(...)
$ ./likwid-perfctr -C S1:0 -g CACHE ./a.out
CPU name: AMD Opteron(TM) Processor 6272
CPU type: AMD Interlagos processor
CPU clock: 2.10 GHz
Counter register PMC0 not supported or PCI device not available
Counter register PMC1 not supported or PCI device not available
Counter register PMC2 not supported or PCI device not available
Counter register PMC3 not supported or PCI device not available
No event in given event string can be configured
This happened for any event group I tried. I also tried running it with sudo but it made no difference.
Any suggestions?
Thank you,
Martin