NEW, AMD uProf 3.5 is now available Jan 17, 2022 Downloads Documentation
AMD uProf (“MICRO-prof”) is a software profiling analysis tool for x86 applications running on Windows, Linux and FreeBSD operating systems and provides event information unique to the AMD “Zen”-based processors. AMD uProf enables the developer to better understand the limiters of application performance and evaluate improvements.
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.
- Characterize 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, such as Instructions Per Clock (IPC), core effective frequency, and memory bandwidth.
What’s New in AMD uProf 3.5
- CPU Profiling GUI – Timeline for CPU Profile events, profile duration filter in timeline, bottom-up view of callstack samples, thread level callgraph support, and thread level flamegraph support.
- Holistic Analysis View – Analyze CPU, GPU, and OS together in GUI on Linux platforms. In holistic analysis view, events that can be analyzed are OS scheduling events, System calls, POSIXthread sync APIs, GPU activities, and MPI API event tracing.
- OS Tracing – Operating System event analysis on Linux are thread state analysis, kernel block I/O analysis, pagefault analysis, and memtrace (memory alloc/dealloc) analysis.
- MPI Tracing – HPC Analysis on Linux by tracing of MPI applications based on MPICH and derivatives.
- GPU Tracing – GPU trace analysis on Linux for AMD Instinct™ MI100 and MI200 accelerators.
- GPU Profiling – GPU kernel dispatch analysis on Linux for AMD Instinct™ MI100 and MI200 accelerators.
- AMDuProfSys – A new system analysis tool captures system information that can be key to debugging issues.
Refer to the release notes for a complete list of features added in this release.
Previous releases
AMD uProf 3.4 (Aug 26, 2021)
- 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
Specifications
Processors
- AMD EPYC™, Ryzen™ and Ryzen™ Threadripper™ CPUs and APU Processors
- AMD Instinct™ MI100 and MI200 accelerators (GPU analysis only)
Operating Systems
AMD uProf supports the 64-bit version of Operating Systems.
- Microsoft
- Windows 10 (up to 21H2)
- Windows 11 (21H2)
- Windows Server 2019 and 2022
- Linux
- Ubuntu 16.04 and later
- RHEL 7.0 and later
- openSUSE Leap 15.0
- SLES 12 and 15
- CentOS 7.0 and later
- FreeBSD 12.2 and later
Compilers and Application Environment
AMD uProf supports following application environments:
- Languages – C, C++, Fortran, Assembly, Java, and .NET
- Programs compiled with standard x86-64 compilers
- AMD AOCC
- Microsoft and Intel compilers
- GNU and LLVM compilers
- Parallelism – OpenMP and MPI
- Applications compiled with and without optimization and/or debug information
Features by OS
Feature | Linux | Windows | FreeBSD |
System Analysis | |||
AMDuProfPCM*# | Yes | Yes | Yes |
AMDuProfSys*# | Yes | Yes | No |
CPU Profiling | |||
Micro-architecture Analysis | Yes | Yes | Yes |
Instruction Based Sampling (IBS) | Yes | Yes | No |
Timer Based Profiling (TBP) | Yes | Yes | No |
Cache Analysis | Yes | Yes | No |
Java App Profiling | Yes | Yes | Yes |
Call Stack Sampling – Native (C, C++, and FORTRAN) | Yes | Yes | Yes |
Call Stack Sampling – Java | Yes | No | No |
HPC – MPI Code Profiling | Yes | No | No |
HPC – OpenMP Tracing | Yes | No | No |
HPC – MPI API Tracing | Yes | No | No |
OS Tracing | Yes | No | No |
GPU Analysis | |||
GPU Profiling# | Yes | No | No |
GPU Tracing | Yes | No | No |
Power Profiling | |||
Live Power Profile | Yes | Yes | No |
Power Application Analysis | No | Yes | No |
User Interface | |||
Graphical Interface | Yes | Yes | No |
Command Line | Yes | Yes | Yes |
API | |||
Profile Control API | Yes | Yes | No |
Power Profiler API | Yes | Yes | No |
- * Feature available only on AMD EPYC™ processors
- # Command line interface only
Resources and Technical Support
Documentation
Refer here for prior versions of AMD uProf documentation and downloads.
Support
See Technical Support for support options.
AMD Community
See also the AMD community for moderated forums.