Performance Profiling Tool for AMD CPUs
AMD is making great strides in their continued effort to steal market share back from the CPU giant Intel. After a long hiatus from competing with Intel on level ground, AMD released their Ryzen CPUs, built on their Zen architecture, in March of 2017. Hardware is but just one part of the puzzle to winning back the consumers though.
Just like with any other component (GPUs, motherboards, servers, etc), good hardware needs good software. In a world dominated by Intel CPUs, getting developers to optimize for your platform is hard, and especially hard if the tools to do it are missing or lacking. Enter AMD μProf. Although this has been available for a while now in the form of version 1.1, this new update adds some much needed features.
What is AMD μProf
AMD μProf is a performance monitoring and profiling tool suite that enables developers and end users to better identify what their hardware is doing. μProf leverages Performance Monitor Counters (PMC), Instruction-Based Sampling (IBS – try not to laugh), and L3 Cache Performance Counters with multiple sampling methods to grab the most accurate and timely information from the CPU as possible, removing the abstraction included with 3rd party solutions, i.e HWInfo.
μProf is a very indepth tool, which means its use is beyond the scope of an article. That said, it is a very handy tool, that supports Windows as well as Linux, and is even recommended by AMD over HWInfo for their Ryzen based APUs. Below you will find the release notes as well as download links to try it out for yourself.
- Profile – HW PMC events based profiling, Instruction Based Sampling (IBS)
- Timer Based Profiling on x64 systems.
- Call-stack sampling for native applications.
- Real-time reporting of Power, Frequency and Thermal characteristics.
- Energy consumption analysis of applications.
- Thread concurrency analysis
- Attribution of profile data at different granularities – Process, Thread, Module, Function, Source line and Instruction.
- Standalone GUI and CLI.
- Languages – C, C++, C#, Java, FORTRAN, Assembly.
- Processors – AMD APUs, CPUs and discrete AMD GPUs.
- Host Operating Systems – Windows, Linux.
- Target Operating Systems – Windows, Linux.
- Support Remote Profiling to perform CPU and Power profiling on a remote system
- New AMDuProfPcm CLI tool to monitor basic performance monitoring Core, L3, DF and UMC based metrics (*Linux Only*)
- Thread Concurrency Graph
- Instruction MIX Analysis
- Improved stability
- Support for new processors including Ryzen, Threadripper and EPYC.
AMD uProf can be downloaded from AMDs site here