NEW! AMD uProf 3.4 is now available Downloads User Guide
AMD uProf is a performance analysis tool for applications running on Windows, Linux & FreeBSD operating systems. It allows developers to better understand the runtime performance of their application and to identify ways to improve its performance.
AMD uProf offers:
- Performance Analysis – to identify runtime performance bottlenecks of the application.
- System Analysis – to monitor system performance metrics
- Power Profiling – to monitor thermal and power characteristics of the system.
- Energy Analysis – to identify energy hotspots in the application (Windows only).
AMD uProf can effectively be used to:
- Analyze the performance of one or more processes or the entire system
- Track down the performance bottlenecks (hotspots & micro-architecture) in the source code
- Identify ways to optimize the source code for better performance and power efficiency
- Examine the behavior of kernel, drivers, and system modules
- Analyze Thread concurrency
- Observe frequency, thermal and power characteristics (Power profiling)
- Observe system metrics like IPC, Core effective frequency, memory bandwidth, etc.
What’s New in AMD uProf 3.4?
- Support for AMD EPYC 3rd generation and Ryzen 5000 series APUs and CPUs
- New performance analysis type Cache Analysis support in Windows
- Windows support for System Analysis tool – AMDuProfPcm
- Virtualization support for the Linux and Windows guest VMs running on the following hypervisors – Microsoft Hyper-V, VMware ESXi 7.0 and Linux KVM
- Advisory capabilities – Confidence threshold and Issue threshold
- Support for system wide kernel callstack sampling on Linux and FreeBSD
- Improved HPC profiling capabilities
- Support for preconfigured events
- Support for Per-event callstack sampling (CSS)
- Extensive UI upgrades for better user experience
Refer the Release notes for the complete list of features added in this release.
- AMD CPU & APU Processors
- Discrete GPUs: Graphics IP 7 GPUs, AMD Radeon 500 Series, FirePro models (Power Profiling Only)
AMD uProf supports the 64-bit version of Operating Systems.
- Windows 7
- Windows 10 (up to 20H2)
- Windows Server 2016, 2019
- Ubuntu 16.04 & later
- RHEL 7.0 & later
- openSUSE Leap 15.0
- SLES 12 & 15
- CentOS 7.0 & later
Compilers and Application Environment
AMD uProf supports following application environment:
- Languages – C, C++, Fortran, Assembly, Java, .NET
- Programs compiled with
- Microsoft compilers
- GNU compilers
- AMD’s AOCC
- Intel compilers
- Applications compiled with and without optimization and/or debug information
|Instruction Based Sampling (IBS)||Yes||Yes||No|
|Timer Based Profiling (TBP)||Yes||Yes||No|
|Java App Profiling||Yes||Yes||Yes|
|Call Stack Sampling – Native (C, C++, FORTRAN)||Yes||Yes||Yes|
|Call Stack Sampling – Java||Yes||No||No|
|HPC – OpenMP Tracing||Yes||No||No|
|HPC – MPI Code Profiling||Yes||No||No|
|Live Power Profile||Yes||Yes||No|
|Powe Application Analysis||No||Yes||No|
|Profile Control API||Yes||Yes||No|
* Feature available only on AMD Epyc Server Processors; Command Line interface only
AMD uProf profiler follows a statistical sampling-based approach to collect profile data to identify the performance bottlenecks in the application. The profile data collection can be triggered by – OS timer, core PMC events and IBS. AMD uProf offers user friendly UI to view and analyze the profile data thereby helps to optimize wide variety of applications, drivers, game engines etc.
AMDuProf’ s ANALYZE page to view the performance data at process, module and function level
AMDuProf’ s SOURCE page to view the performance data corelated to source lines
AMDuProf’ s Flame graph window to identify the hot call-paths
AMD uProf profiler can be used to monitor the frequency, thermal and energy metrics of various components in the system. The GUI offers a live timeline graphs of various metrics in TIMECHART page.
AMDuProf’ s TIMECHART page to plot the live power metrics
Ask the community
Please use Developer Community for bug reports, support and feature requests.
Refer here for older versions.