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

How to use PCM on Windows 8?

zhang_f_
Beginner
786 Views

Hi,

My system is Win 8.1 Pro. I download the Intel PCM 2.8 and run the "build_all.bat". So all are built.

But when I run the PCM.exe in PCM_Win\Debug, it lacks winring0.dll and winring0.sys. 

I wonder where I can get them?

I read WINDOWS_HOWTO.rtf file and it suggests me to compile the WinMSRDriver dir. But that dir only contains Win7 and WinXP. If my OS is Win 8.1, what should I do?

 

Thanks! Hope for your reply.

0 Kudos
5 Replies
Thomas_W_Intel
Employee
786 Views

You should be able to use the Win7 driver. Alternatively, the third-party WinRing0 driver is supported as well. 

Please note that you should build and use the 64-bit binaries.

 

Last but not least you will run into an undefined function YieldProcessor, which Microsoft seems to have dropped with Windows 8. Replacing it with _mm_pause solves the issue. (The next version of PCM will include this fix.)

0 Kudos
Otto_B_Intel
Employee
786 Views

From the Windows_HOWTO.rtfÖ

 

If you do not want or cannot compile the msr.sys driver you might use a third-party open source WinRing0 driver instead. Instructions:

  1. Download the free RealTemp utility package from http://www.techpowerup.com/realtemp/ or any other free utility that uses the open-source WinRing0 driver (like OpenHardwareMonitor http://code.google.com/p/open-hardware-monitor/downloads/list).
  2. Copy WinRing0.dll, WinRing0.sys, WinRing0x64.dll, WinRing0x64.sys files from there into the PCM.exe binary location, into the PCM-Service.exe location and into c:\windows\system32
  3. Run the PCM.exe tool and/or go to step 6 (perfmon utility).

 

You dont have to install any of these programs, just open up the archive and copy these mentioned files into the directory for windows pcm.

 

Hope this helps.

Cheers,

Otto

0 Kudos
zhang_f_
Beginner
786 Views

Thanks! I copied these things and make it work. I think this is the easiest way!

Another 2 questions:

1. Can I use PCM to get the same indicators in VTune? That is to say, are there some CPU indicators VTune can get, but PCM cannot get? Does PCM can get all CPU indicators?

2. I think PCM is very useful. Is there a similar tool which can get GPU indicators? Just like PCM to CPU.

Thanks.

0 Kudos
Thomas_W_Intel
Employee
786 Views

VTune can do a lot more than PCM. If you compare PCM to visual inspection, then VTune corresponds to an MRT. Most notably, VTune can link back the events to your source code. For example, it will report in which code line you are getting cache misses. VTune comes with a nice GUI, supports ten times more events and can instrument your code to detect lock contention. In fact, a lot of people are overwhelmed by the capabilities of VTune .).

0 Kudos
Bernard
Valued Contributor I
786 Views

 >>>I think PCM is very useful. Is there a similar tool which can get GPU indicators? Just like PCM to CPU>>>

Yes I agree , although PCM cannot beat such a complex software like VTune you can at least inspect code implementation of PCM.

For GPU data profiling you can use VTune and/or GPUview.

https://msdn.microsoft.com/en-us/library/windows/hardware/ff570133%28v=vs.85%29.aspx

https://software.intel.com/en-us/intel-vtune-amplifier-xe/details

0 Kudos
Reply