Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Performance Monitoring

aozcan
New Contributor I
1,541 Views

Hi,

 

To monitor performance on Intel Skylake by observing emitted events, we seem to have 2 choices:

 

1) https://perfmon-events.intel.com/

2) https://software.intel.com/content/www/us/en/develop/download/intel-xeon-processor-scalable-memory-family-uncore-performance-monitoring-reference-manual.html

 

What are the subtle differences between the two? When to use which? 

 

At first, I though that the first link is for core (rather than uncore) performance monitoring (I don't know if there is a term named "core performance monitoring"). But both links seem to be doing fairly similar stuff. 

 

Currently, I am programming uncore PMONs via pwrite() syscall with the value of "eventSel" and "umask" of the event I want to measure, looking up those values from 2). Would programming performance counters be any different if I were to use 1)

 

Thanks and regards.

0 Kudos
1 Reply
McCalpinJohn
Honored Contributor III
1,453 Views
  1. The "Uncore performance monitoring reference manual" is the official guide to uncore performance monitoring interfaces and events.
  2. The model-specific sub-section of Chapter 19 of Volume 3 of the Intel Architectures Software Developers Manual is the official guide to core performance monitoring and events.
  3. In the ten years that I have been working with the performance counters on Intel processors, I never ran across https://perfmon-events.intel.com -- not sure what to think about it yet, but it appears to be limited to the core performance counters.
  4. I have found https://download.01.org/perfmon/ to be very useful for both core and uncore events:
    • It seems to be easier for the Intel folks to update this version compared to the official documents,
    • It includes many specific examples of the auxiliary MSR settings for the OFFCORE_RESPONSE events -- these are very helpful when trying to understand how these events work.
    • It includes "experimental" lists of events -- these are also very helpful when trying to understand some of the event encodings that don't have adequate examples in the official documents.
Reply