- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have tried using PCM on linux, but when run it only shows the following: (sudo ./pcm.x 5)
And it ends, without displaying counter data.
Can you help me? please. What should I do? or what is the error?
Thank you,
regards.
I have tried using PCM on linux, but when run it only shows the following: (sudo ./pcm.x 5)
Intel Performance Counter Monitor V2.1 (2012-05-31 14:40:57 +0200 ID=2d18fd5)
Copyright (c) 2009-2012 Intel Corporation
Num (logical) cores: 2
Num sockets: 1
Threads per core: 2
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 2
Width of generic (programmable) counters: 40 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 40 bits
Nominal core frequency: 0 Hz
Number of PCM instances: 10
Detected processor(s) with Intel microarchitecture codename Atom
Copyright (c) 2009-2012 Intel Corporation
Num (logical) cores: 2
Num sockets: 1
Threads per core: 2
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 2
Width of generic (programmable) counters: 40 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 40 bits
Nominal core frequency: 0 Hz
Number of PCM instances: 10
Detected processor(s) with Intel microarchitecture codename Atom
And it ends, without displaying counter data.
Can you help me? please. What should I do? or what is the error?
Thank you,
regards.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My suggestion was that you directlyhard-code the frequency of your processor as a constant value. This way, you could verify if this is the only issue that you have.
For reproducing the issue internally, can you tell us what type of Atom you are using?
Link Copied
11 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nominal core frequency: 0 Hz
looks suspicious. I don't know why ths would fail, but maybe you can hardcode this in your program for testing purposes. It is computed in line 688 in cpucounterstest.cpp
And try to delete all the semaphores from PCM instances that were not running successfully.
looks suspicious. I don't know why ths would fail, but maybe you can hardcode this in your program for testing purposes. It is computed in line 688 in cpucounterstest.cpp
And try to delete all the semaphores from PCM instances that were not running successfully.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your response,
I've looked in line 688 in cpucounters.cpp, the computation performed ((freq >> 8) & 255) always returns 0 (ie, the second byte is zero). Whereby the frequency is 0 Hz. What should I do?
I've looked in line 688 in cpucounters.cpp, the computation performed ((freq >> 8) & 255) always returns 0 (ie, the second byte is zero). Whereby the frequency is 0 Hz. What should I do?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My suggestion was that you directlyhard-code the frequency of your processor as a constant value. This way, you could verify if this is the only issue that you have.
For reproducing the issue internally, can you tell us what type of Atom you are using?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm sorry, I had not understood.
I changed the frencuencia to: 1660000000 in Hz, but the result was:
Copyright (c) 2009-2012 Intel Corporation
Num (logical) cores: 2
Num sockets: 1
Threads per core: 2
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 2
Width of generic (programmable) counters: 40 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 40 bits
Nominal core frequency: 1667000 Hz
Number of PCM instances: 8
Detected processor(s) with Intel microarchitecture codename Atom
EXEC : instructions per nominal CPU cycle
IPC : instructions per CPU cycle
FREQ : relation to nominal CPU frequency='unhalted clock ticks'/'invariant timer ticks' (includes Intel Turbo Boost)
L2MISS: L2 cache misses
L2HIT : L2 cache hit ratio (0.00-1.00)
TEMP : Temperature reading in 1 degree Celsius relative to the TjMax temperature (thermal headroom): 0 corresponds to the max temperature
Core (SKT) | EXEC | IPC | FREQ | L2MISS | L2HIT | TEMP
0 0 0.00 -1.00 0.00 0 1.00 44
1 0 0.00 -1.00 0.00 0 1.00 44
-------------------------------------------------------------------------------------------------------------------
SKT 0 0.00 -1.00 0.00 -1.00 0 0 -1.00 1.00 -1.00 -1.00 0.00 0.00 N/A
-------------------------------------------------------------------------------------------------------------------
TOTAL * 0.00 -1.00 0.00 0 1.00 N/A
Instructions retired: 0 ; Active cycles: 0 ; Time (TSC): 943 Mticks ; C0 (active,non-halted) core residency: 0.00 %
C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %
C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %
PHYSICAL CORE IPC : -1.00 => corresponds to -50.00 % utilization for cores in active state
Instructions per nominal CPU cycle: 0.00 => corresponds to 0.00 % core utilization over time interval
Then,I changed it to: 1667000 (in / sys/devices/system/cpu/cpu0/cpufreq/scaling_availables_frequencies) kHz, and got:
Copyright (c) 2009-2012 Intel Corporation
Num (logical) cores: 2
Num sockets: 1
Threads per core: 2
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 2
Width of generic (programmable) counters: 40 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 40 bits
Nominal core frequency: 1660000000 Hz
Number of PCM instances: 8
Detected processor(s) with Intel microarchitecture codename Atom
EXEC : instructions per nominal CPU cycle
IPC : instructions per CPU cycle
FREQ : relation to nominal CPU frequency='unhalted clock ticks'/'invariant timer ticks' (includes Intel Turbo Boost)
L2MISS: L2 cache misses
L2HIT : L2 cache hit ratio (0.00-1.00)
TEMP : Temperature reading in 1 degree Celsius relative to the TjMax temperature (thermal headroom): 0 corresponds to the max temperature
Core (SKT) | EXEC | IPC | FREQ | L2MISS | L2HIT | TEMP
0 0 0.00 -1.00 0.00 0 1.00 43
1 0 0.00 -1.00 0.00 0 1.00 43
-------------------------------------------------------------------------------------------------------------------
SKT 0 0.00 -1.00 0.00 -1.00 0 0 -1.00 1.00 -1.00 -1.00 0.00 0.00 N/A
-------------------------------------------------------------------------------------------------------------------
TOTAL * 0.00 -1.00 0.00 0 1.00 N/A
Instructions retired: 0 ; Active cycles: 0 ; Time (TSC): 1688 Mticks ; C0 (active,non-halted) core residency: 0.00 %
C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %
C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %
PHYSICAL CORE IPC : -1.00 => corresponds to -50.00 % utilization for cores in active state
Instructions per nominal CPU cycle: 0.00 => corresponds to 0.00 % core utilization over time interval
Thank you!
I changed the frencuencia to: 1660000000 in Hz, but the result was:
*****************************************************************************************************
Intel Performance Counter Monitor V2.1 (2012-05-31 14:40:57 +0200 ID=2d18fd5)Copyright (c) 2009-2012 Intel Corporation
Num (logical) cores: 2
Num sockets: 1
Threads per core: 2
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 2
Width of generic (programmable) counters: 40 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 40 bits
Nominal core frequency: 1667000 Hz
Number of PCM instances: 8
Detected processor(s) with Intel microarchitecture codename Atom
EXEC : instructions per nominal CPU cycle
IPC : instructions per CPU cycle
FREQ : relation to nominal CPU frequency='unhalted clock ticks'/'invariant timer ticks' (includes Intel Turbo Boost)
L2MISS: L2 cache misses
L2HIT : L2 cache hit ratio (0.00-1.00)
TEMP : Temperature reading in 1 degree Celsius relative to the TjMax temperature (thermal headroom): 0 corresponds to the max temperature
Core (SKT) | EXEC | IPC | FREQ | L2MISS | L2HIT | TEMP
0 0 0.00 -1.00 0.00 0 1.00 44
1 0 0.00 -1.00 0.00 0 1.00 44
-------------------------------------------------------------------------------------------------------------------
SKT 0 0.00 -1.00 0.00 -1.00 0 0 -1.00 1.00 -1.00 -1.00 0.00 0.00 N/A
-------------------------------------------------------------------------------------------------------------------
TOTAL * 0.00 -1.00 0.00 0 1.00 N/A
Instructions retired: 0 ; Active cycles: 0 ; Time (TSC): 943 Mticks ; C0 (active,non-halted) core residency: 0.00 %
C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %
C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %
PHYSICAL CORE IPC : -1.00 => corresponds to -50.00 % utilization for cores in active state
Instructions per nominal CPU cycle: 0.00 => corresponds to 0.00 % core utilization over time interval
*****************************************************************************************************
Then,I changed it to: 1667000 (in / sys/devices/system/cpu/cpu0/cpufreq/scaling_availables_frequencies) kHz, and got:
*****************************************************************************************************
Intel Performance Counter Monitor V2.1 (2012-05-31 14:40:57 +0200 ID=2d18fd5)Copyright (c) 2009-2012 Intel Corporation
Num (logical) cores: 2
Num sockets: 1
Threads per core: 2
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 2
Width of generic (programmable) counters: 40 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 40 bits
Nominal core frequency: 1660000000 Hz
Number of PCM instances: 8
Detected processor(s) with Intel microarchitecture codename Atom
EXEC : instructions per nominal CPU cycle
IPC : instructions per CPU cycle
FREQ : relation to nominal CPU frequency='unhalted clock ticks'/'invariant timer ticks' (includes Intel Turbo Boost)
L2MISS: L2 cache misses
L2HIT : L2 cache hit ratio (0.00-1.00)
TEMP : Temperature reading in 1 degree Celsius relative to the TjMax temperature (thermal headroom): 0 corresponds to the max temperature
Core (SKT) | EXEC | IPC | FREQ | L2MISS | L2HIT | TEMP
0 0 0.00 -1.00 0.00 0 1.00 43
1 0 0.00 -1.00 0.00 0 1.00 43
-------------------------------------------------------------------------------------------------------------------
SKT 0 0.00 -1.00 0.00 -1.00 0 0 -1.00 1.00 -1.00 -1.00 0.00 0.00 N/A
-------------------------------------------------------------------------------------------------------------------
TOTAL * 0.00 -1.00 0.00 0 1.00 N/A
Instructions retired: 0 ; Active cycles: 0 ; Time (TSC): 1688 Mticks ; C0 (active,non-halted) core residency: 0.00 %
C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %
C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %
PHYSICAL CORE IPC : -1.00 => corresponds to -50.00 % utilization for cores in active state
Instructions per nominal CPU cycle: 0.00 => corresponds to 0.00 % core utilization over time interval
*****************************************************************************************************
The results are not expected. What does this mean? I am using Atom N450.Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Again I ran pcm.x and, this time, it gave acceptable values.
I have not modified it from the last time, but now it worked
(only I adjusted the nominal core frequency).
0 0 0.06 0.13 0.42 309 K 0.78 49
1 0 0.09 0.21 0.42 396 K 0.80 49
-------------------------------------------------------------------------------------------------------------------
SKT 0 0.07 0.17 0.42 0.65 0 705 K -1.00 0.80 -1.00 -1.00 0.00 0.00 N/A
-------------------------------------------------------------------------------------------------------------------
TOTAL * 0.07 0.17 0.42 705 K 0.80 N/A
Instructions retired: 78 M ; Active cycles: 460 M ; Time (TSC): 545 Mticks ; C0 (active,non-halted) core residency: 65.06 %
C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %
C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %
PHYSICAL CORE IPC : 0.34 => corresponds to 17.06 % utilization for cores in active state
Instructions per nominal CPU cycle: 0.14 => corresponds to 7.20 % core utilization over time interval
Thank you very much for your help.
Greetings.
Again I ran pcm.x and, this time, it gave acceptable values.
I have not modified it from the last time, but now it worked
(only I adjusted the nominal core frequency).
****************
Core (SKT) | EXEC | IPC | FREQ | L2MISS | L2HIT | TEMP0 0 0.06 0.13 0.42 309 K 0.78 49
1 0 0.09 0.21 0.42 396 K 0.80 49
-------------------------------------------------------------------------------------------------------------------
SKT 0 0.07 0.17 0.42 0.65 0 705 K -1.00 0.80 -1.00 -1.00 0.00 0.00 N/A
-------------------------------------------------------------------------------------------------------------------
TOTAL * 0.07 0.17 0.42 705 K 0.80 N/A
Instructions retired: 78 M ; Active cycles: 460 M ; Time (TSC): 545 Mticks ; C0 (active,non-halted) core residency: 65.06 %
C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %
C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %
PHYSICAL CORE IPC : 0.34 => corresponds to 17.06 % utilization for cores in active state
Instructions per nominal CPU cycle: 0.14 => corresponds to 7.20 % core utilization over time interval
****************
Thank you very much for your help.
Greetings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Maru,
thank youfor your feedback. We have reproduced the issue internally and will provide a fix in the next PCM update. Till then please use the workaround suggested by Thomas.
Thank you
Roman
thank youfor your feedback. We have reproduced the issue internally and will provide a fix in the next PCM update. Till then please use the workaround suggested by Thomas.
Thank you
Roman
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
One question, I am working with frequency scaling, and I will need to use the metric EXEC.
If I directly hard-code the nominal frequency, the EXEC values are correct ? (assuming you, can change the frequency).
Thank you
Maru.
One question, I am working with frequency scaling, and I will need to use the metric EXEC.
If I directly hard-code the nominal frequency, the EXEC values are correct ? (assuming you, can change the frequency).
Thank you
Maru.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The EXEC metric is not affected by hard-coding the nominal frequency. It simply returns the ratio of instructions retired versus invariant timer clocks. In particular, thenominal frequency is not part of this equation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great!
Thanks for your reply.
Greetings.
Thanks for your reply.
Greetings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
we have just found out that the invariant timer clock function is not working on Atom when CPU is in a power saving C states. This makes EXEC metric output wrong values in such case. In the next PCM version we will provide a workaround for it.
for now you can computethe EXEC metric (getExec(a,b)) as
getInstructionsRetired(a,b)/(time_in_seconds*m->getNominalFrequency())
Thanks,
Roman
for now you can computethe EXEC metric (getExec(a,b)) as
getInstructionsRetired(a,b)/(time_in_seconds*m->getNominalFrequency())
Thanks,
Roman
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page