Software Tuning, Performance Optimization & Platform Monitoring
Discussion around monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform monitoring
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Using PCM to monitor specific portions of code

Stanley_Y_
Beginner
153 Views

Hi!

So I'm trying to work with the Intel Performance Counter Monitor and monitor a specific section of my code.

I've tried following this guide listed here - https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor

However, after running the command to compile, I'm getting a ton of errors from files included in the cpucounters.h file (msr.h, width_extender.h, as well as the actual cpucounters.h file. I'm using the default cpucounters.h file included in PCM "V2.11.1 (2016-10-21 16:06:24 +0200 ID=6cc1299)"

 

Here's an example of some of the errors.

cpucounters.h: At global scope:
cpucounters.h:91:17: error: ‘shared_ptr’ is not a member of ‘std’
     std::vector<std::shared_ptr<PciHandleM> > imcHandles;
                 ^
cpucounters.h:91:17: error: ‘shared_ptr’ is not a member of ‘std’
cpucounters.h:91:43: error: template argument 1 is invalid
     std::vector<std::shared_ptr<PciHandleM> > imcHandles;
                                           ^
cpucounters.h:91:43: error: template argument 2 is invalid
cpucounters.h:91:45: error: expected unqualified-id before ‘>’ token
     std::vector<std::shared_ptr<PciHandleM> > imcHandles;
                                             ^
cpucounters.h:92:17: error: ‘shared_ptr’ is not a member of ‘std’
     std::vector<std::shared_ptr<PciHandleM> > qpiLLHandles;
                 ^
cpucounters.h:92:17: error: ‘shared_ptr’ is not a member of ‘std’
cpucounters.h:92:43: error: template argument 1 is invalid
     std::vector<std::shared_ptr<PciHandleM> > qpiLLHandles;

 

Any thoughts?

 

0 Kudos
1 Reply
Thomas_G_4
New Contributor II
153 Views

The std::shared_ptr construct is a C++11 feature. Maybe you have to activate C++11 for your compiler or you need a later version of your compiler if it does not support C++11 at all.

Reply