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

Example code from Optimization Reference Manual does not work

silveredBullet23
Beginner
485 Views

Hello,

I am currently exploring Intel Thread Director and, as part of that, am trying to understand what makes the CPU report certain EHFI classes. The Optimization Reference Manual [1] provides on page 52, example 2-2: "Class 1 Pseudo-code Snippet" a series of instructions which should trigger EHFI class 1 to be reported on the logical core the provided workload is running on.

When attempting this on Windows 11 [2] on my Meteor Lake CPU [3], I do not get a consistent class 1 response; most of the time that workload is declared as class 0.

I measured the class of all logical cores with (a) VTune (using a specially configured Microarchitectural Exploration) and, later, (b) by reading the FEEDBACK_CHAR MSR myself periodically from kernel-space. The workload was between 1 and 500 repetitions of the snippet provided in the Optimization Reference Manual, followed by an unconditional jump to the first instruction. This workload was then run (i) on all cores in parallel or (ii) pinned to a specific P (HT/non-HT) or E core. The vast majority of the time, the logical cores running the workload reported class 0.

Incidentally, the same applies to class 2 for the example 2-3 snippet except that class 2 was reported even more rarely. The class 3 snippet works fine with my experimental setup and is reported with the expected consistency.

I would be very grateful if you could provide an instruction mix which will evoke a consistent class 1 response from my CPU. Doubly so if you could describe which performance counters factor into the EHFI classification decision.

Thank you very much for your time.


[1] "Intel® 64 and IA-32 Architectures Optimization Reference Manual Volume 1", Document ID: 814198, Version 049, Date: 2024-05-22
[2] Windows 11 24H2, OS Build 26100.3194
[3] An Intel Core Ultra 5 125H (Intel Processor Identification Utility reports a "CPUID" of: A06A4)

0 Kudos
5 Replies
ArchieD_Intel
Moderator
396 Views

Hi silveredBullet23,


Thank you for reaching out to the Intel Community Forum regarding the Intel Thread Director and the EHFI class reporting on your Meteor Lake CPU. To assist you effectively, can you please confirm if you're referring to this Intel® 64 and IA-32 Architectures Optimization Manual?


If not, can you please provide the link or website you're referring?


If you have any questions, please let us know. Thank you.


Best regards,


Archie D.

Intel Customer Support Technician


0 Kudos
silveredBullet23
Beginner
365 Views

Hi ArchieD,

Thanks for getting back to me. Yes, I do think that's the same file. I originally accessed it via this page here. This here is the corresponding download link.

Thanks for looking into this!

Best regards

0 Kudos
ArchieD_Intel
Moderator
357 Views

Hi silveredBullet23,

 

Thank you for confirming the website you're referring to. I will now further investigate this and will get back to you once I have the information you're looking. Thank you for your patience and understanding.

 

Best regards,

 

Archie D.

Intel Customer Support Technician

0 Kudos
ArchieD_Intel
Moderator
329 Views

Hi silveredBullet23,


As per our investigation I would like to inform you that your concern is being handles by Developer Software Forums.


While we understand the desire to optimize performance using EHFI classifications, we refrain from providing specific "how-to" guidance on this topic. The dynamic nature of workload behavior and system configurations means that outcomes can vary, and unintended consequences may arise. To ensure the stability and reliability of your system, we recommend consulting Intel's official documentation and support channels for detailed assistance.


Our support group is unable to provide assistance specific to your issue. I can only provide general information regarding how Intel Thread Director operates, as detailed in the article: What Is Intel® Thread Director?


Therefore, I will be moving this discussion to our Developer Software Forum. This will allow our knowledgeable community and experts to provide you with timely and accurate solutions.


Best regards,

 

Archie D.

Intel Customer Support Technician


0 Kudos
silveredBullet23
Beginner
265 Views

Hi ArchieD,

Thanks for moving this to a more appropriate place. Let's hope someone here can provide more insight.
Just to clarify: My goal is not to induce the CPU to make sub-optimal suggestions for the system as a whole but rather to satisfy my curiosity. After noticing that what was written in the Optimization Reference Manual did not elicit the expected response, my question became, "well, what does?".

Best regards

0 Kudos
Reply