Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Intel PCM, error with very basic code.

Jeremie_Lagraviere
916 Views

Hi everyone,

I have a very basic code using IntelPCM:

int main(void)
{
        int N = 99999999;
        PCM * m = PCM::getInstance();
        if (m->program() != PCM::Success)
        {
                cout << "Intel PCM does not Work";
                exit(0);
        }

        SystemCounterState before_sstate = getSystemCounterState();

        eratosthenesBlockwise(N, 100, 1);

        SystemCounterState after_sstate = getSystemCounterState();

        cout << "Instructions per clock:" << getIPC(before_sstate,after_sstate) << endl;
        cout << "L3 cache hit ratio:" << getL3CacheHitRatio(before_sstate,after_sstate) << endl;
        cout << "Bytes read:" << getBytesReadFromMC(before_sstate,after_sstate) << endl;

        //printf("%d", eratosthenesBlockwise(N, 100, true));
        printf("done !");
        exit(0);
}

I compile the code with this command line:

g++ -I/home/xxxx/pgashpc/EnergyManagement/IntelPCM/ sievePCM.cpp -L/home/xxxx/pgashpc/EnergyManagement/IntelPCM/intelpcm.so -lintelpcm -fopenmp -o test1PCM

And I get no warnings or errors from the compiler.

When I run this code I get this message:

Number of physical cores: 16
Number of logical cores: 32
Number of online logical cores: 32
Threads (logical cores) per physical core: 2
Num sockets: 2
Physical cores per socket: 8
Core PMU (perfmon) version: 3
Number of core PMU generic (programmable) counters: 4
Width of generic (programmable) counters: 48 bits
Number of core PMU fixed counters: 3
Width of fixed counters: 48 bits
Nominal core frequency: 2000000000 Hz
Package thermal spec power: 95 Watt; Package minimum power: 64 Watt; Package maximum power: 150 Watt; 
ERROR: QPI LL monitoring device (0:127:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:127:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 0: 1 memory controllers detected with total number of 4 channels. 0 QPI ports detected.
ERROR: QPI LL monitoring device (0:255:8:2) is missing. The QPI statistics will be incomplete or missing.
ERROR: QPI LL monitoring device (0:255:9:2) is missing. The QPI statistics will be incomplete or missing.
Socket 1: 1 memory controllers detected with total number of 4 channels. 0 QPI ports detected.
WARNING: Core 12 IA32_PERFEVTSEL0_ADDR are not zeroed 1114414

This error seems quite common:

https://www.google.no/search?q=The+QPI+statistics+will+be+incomplete+or+missing&oq=The+QPI+statistics+will+be+incomplete+or+missing&aqs=chrome..69i57j69i64l2.576j0j7&client=ubuntu&sourceid=chrome&es_sm=93&ie=UTF-8

https://software.intel.com/sites/default/files/managed/de/f7/pcm-output.txt

Although, I do not know how to solve this issue.

Any help is welcome :)

 

EDIT: I forgot to say that I am doing all of these operation as root.

0 Kudos
3 Replies
Otto_B_Intel
Employee
916 Views

Hi Jeremie,

it appears that the BIOS for your mainboard has disabled access to the QPI counters which is not uncommon. Please check your BIOS settings for an option to enable these counters. If you can't find this option, you will have to talk to the mainboard manufacturer and ask them if it is possible to expose the QPI counters in the future.

Cheers,

Otto

0 Kudos
Jeremie_Lagraviere
916 Views

Thanks for your reply.

I have to check with the administrator of the machine I am working on :)

0 Kudos
Valentin_Bondzio
Beginner
916 Views

Just FYI:

If you are running on HP hardware, it seems they've added it starting around mid-2013 to their BIOS:

Advanced Options / Advanced Performance Tuning Options - Intel Performance Counter Monitor (PCM)

NOTE: This feature is supported only on Gen8 servers.
When enabled, this option allows you to view and use certain performance counters in the
processor, such as the Performance Counter Monitor (PCM).
Options include:
• Enabled
• Disabled (default)

For the I31 BIOS specifically: 

Version:2013.09.08 (A) (13 Aug 2013)
Enhancements
(...)
Added support for the Intel Performance Counter Monitor Utility (iPCM). This feature can be enabled in the ROM Based Setup Utility (RBSU) Advanced Performance Tuning Options menu. This option is disabled by default and must be enabled to utilize the Intel PCM.
(...) 

I hope it saves someone a bit of their day.

Cheers,

Valentin

P.S.
For I32, it was added in the 2013.06.30 BIOS, P70 was 2013.09.08

0 Kudos
Reply