Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
29 Views

PCM Memory Bandwidth for Windows client

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
Highlighted
29 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

0 Kudos
Highlighted
Employee
29 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

0 Kudos