AMD uProf contains a host of development features with different system requirements.
Time-Based Profiling can be performed on AMD and other x86-64-compatible processors.
The Event-Based Profiling (EBP) and Instruction-Based Sampling (IBS) session types require an AMD CPU or APU.
CPU Profiling on Linux platforms - Limitations of Linux perf:
For AMD “Zen” microarchitecture processors, EBP and IBS profiling on Linux requires Linux kernel 4.9 or later.
Call chain analysis on Linux depends on the call chain information provided by Linux perf. This requires the profiled binaries to have stack frame pointer (that is, compiled with -fno-omit-frame- pointer).
Timer and EBP profiling works with the default /proc/sys/kernel/perf_event_paranoid (2) to profile any user-space application.
Timer and EBP profiling require perf_event_paranoid (<= 1) to profile the kernel space and perf_event_paranoid (<= 0) to profile the entire system.
IBS profile requires perf_event_paranoid (<= 0) due to HW limitations; IBS cannot be configured to profile any specific process.
IBS may not be enabled by default. Check BIOS settings to enable it.
GPU profiling and tracing uses AMD ROCm 7.1 or lower versions. For steps to install AMD ROCm, refer to the AMD uProf 5.2 User Guide.
OS tracing (on Linux) requires BPF Compiler Collection (BCC) and eBPF. Refer to the AMD uProf 5.2 user guide for the steps to install these dependencies.
OS tracing requires Linux kernel version 4.7 or later; however, we recommend using version 4.15 or newer for optimal performance and stability.