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

Using PCM to monitor specific portions of code

Stanley_Y_
Beginner
481 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
481 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.

0 Kudos
Reply