There is a now a profiling tool named uprof for AMD CPUs/GPUs.
Looking at the features I see a number of interest:
- Support for newest Zen4 CPUs which have added topdown performance counters. So with a Linux 6.2 kernel, I should be able to do similar analysis as earlier Intel CPUs
- A set of additional combinations of counters that come together as settings.
- Power profiling
- Instruction-based sampling
- Stack charts
- GPU counters and measurements
There is a debian package with a click-through license. The package told me to also pick up BCC library to support OS tracing, so added that too by installing “bpftrace” package. After that everything is installed in /opt/AMDuProf_4.0-341. Invoking AMDuProf command has a screen to accept the license agreement followed by the GUI interface. The uProf User Guide has ~200 pages of further information.
Here is what the invoking the CLI looks like:
AMDuProfCLI is a command-line tool for AMD uProf Profiler.
Usage: AMDuProfCLI [--version] [--help] COMMAND [
Following are the supported COMMANDs:
collect Run the given program and collects the profile samples.
timechart Collects the system characteristics like power, thermal and frequency.
report Process the profile-data file and generates the profile report.
translate Process the raw profile-data files and save those into database files.
info Displays generic information about system, CPU etc.
The launch application to be profiled.
The list of arguments for the launch application.
Run 'AMDuProfCLI COMMAND -h' for more information on a specific command.
It will be interesting to explore some of these features and describe how well they work.
Update: Unfortunately, trying to run AMDuProfOCM on a Ryzen 7950x part results in an error message:
AMDuProfPcm -m memory -A system -o td.csv -- phoronix-test-suite batch-run stockfish
Missing configuration file - unsupported processor model.
A further web search suggests the tool isn’t supported for client parts only EPYC server parts – problem report.