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

Performance Monitoring

aozcan
New Contributor I
901 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
813 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