What is ROCm Systems Profiler?

What is ROCm Systems Profiler?#

ROCm Systems Profiler is designed for the high-level profiling and comprehensive tracing of applications running on the CPU or the CPU and GPU. It supports dynamic binary instrumentation, call-stack sampling, and various other features for determining which function and line number are currently executing.

A visualization of the comprehensive ROCm Systems Profiler results can be observed in any modern web browser. Upload the Perfetto (.proto) output files produced by ROCm Systems Profiler at ui.perfetto.dev to see the details.

Important

Perfetto validation is done with trace_processor v46.0 as there is a known issue with v47.0. If you are experiencing problems viewing your trace in the latest version of Perfetto, then try using Perfetto UI v46.0.

Aggregated high-level results are available as human-readable text files and JSON files for programmatic analysis. The JSON output files are compatible with the hatchet Python package. Hatchet converts the performance data into pandas data frames and facilitates multi-run comparisons, filtering, and visualization in Jupyter notebooks.

To use ROCm Systems Profiler for instrumentation, follow these two configuration steps:

  1. Indicate the functions and modules to instrument in the target binaries, including the executable and any libraries

  2. Specify the instrumentation parameters to use when the instrumented binaries are launched