The web page of Intel Performance Counter Monitor has been updated to include version 2.4.It includes the following changes:
I still get following QPI counter errors on our host with Intel Xeon E5-4620 (Sandy Bridge) using PCM 2.4. Our motherboard is Dell Power Edge R720. Does it suppose to be so or there is some other way to work around this? Thanks.
ERROR: QPI LL counter programming seems not to work. Q_P0_PCI_PMON_BOX_CTL=0xffffffff
Please see BIOS options to enable the export of performance monitoring devices (devices 8 and 9: function 2).
Could you tell me the exact hardware counters and fomulars to calculate the QPI bandwidth on Sandy Bridge EP processors? I knew from other document that UNC_GQ_DATA.FROM_QPI and UNC_GQ_DATA.TO_QPI may not suitable.
Thanks a lot!
>>>QPI bandwidth on Sandy Bridge EP processors>>>
I have found the formula for bandwidth calculation: 3.2Ghz(signalling speed)*2bits/Hz*20bits(data width)*0.8*2(2 links)/8bits.
For calculating QPI bandwidth you can obtain QPI signalling speed by reading (Xeon E5-2600 Uncore Guide) QPI_RATE_STATUS register qpi_rate bitfield.You can proceed further by using the formula above.
I still get following QPI counter errors on our host with Intel Xeon E5-4620 (Sandy Bridge) using PCM 2.4. Our motherboard is Dell Power Edge R720. Does it suppose to be so or there is some other way to work around this?
For accessing PCI counters on Intel Xeon E5 processors, you need to enable the respective counters in the BIOS. Have you found such an option in your BIOS? If not you would need to get a new BIOS from Dell that provides this option.
The table of contents has a 'License and Download' section.
Follow the links to accept the license and download the code. It works on windows 8.
please note that Intel PCM is released as source code. The intention is to provide sample code for how to access the performance counters. If you want Windows 8 binaries, you will need to compile the sources.
I have compiled and used Intel PCM v2.9 on Windows Server 2012 R2, but I noticed that your Win7 MSR driver (in WinMSRDriver) incorrectly affinitized its thread to requested CPU: the code is broken for sparse KGROUPs or in cases where NUM nodes are not assigned to KGROUPs in consecutive fashion. The affinitizing code for IO_CTL_MSR_[READ\WRITE] should use the API KeGetProcessorNumberFromIndex() to convert the logical CPU to a PROCESSOR_NUMBER, which contains the group number and processor number i that group.