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

PCM Memory Bandwidth for Windows client

Mike_M_2
Beginner
150 Views

Hello,

I've been working with PCM 2.7 for the last few days on Windows and have noticed that while running the pcm utility I get memory bandwidth numbers back for machines with Windows server (2k8r2, 2012R2) but not for Windows client (win7 & win8.1) on the exact same hardware just different OS installs. Looking at the code (client_bw.cpp) there's no implementation for Windows client but this function must not be used across all Windows implementations since I get numbers back for server. At the very core Widows server and client are pretty close.

So before I start stepping through a bunch of code and possibly trying to write the client piece myself (probably a good learning experience for a guy that can barely spell c++) and maybe wasting a bunch of time. Does anyone know if there is a technical reason why memory bandwidth hasn't been implement for Windows client? Is there some blocking issue between client and server builds?

Thanks,

-Mike

0 Kudos
2 Replies
Patrick_F_Intel1
Employee
150 Views

hello Mike,

What are the different chips you are using? On Sandybridge & later clients, the memory bw hardware counters are in the uncore and aren't implemented in PCM (and there are some issues with the coutners... like non-temporal stores showing up as read memory bw). There is a MMIO api to get the bw on the clients but, if you are using the WinRing0 driver, the driver doesn't support MMIO. The PCM driver (that you have to build) supports MMIO registers.

Pat

Roman_D_Intel
Employee
152 Views

Hi Mike,

could you rerun the new Intel PCM 2.8 on your Windows client machine? Do you see memory bandwidth metrics? If not please post the entire pcm output (attache to your reply).

Thank you,

Roman

Reply