CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
42 lines
2.6 KiB
ReStructuredText
42 lines
2.6 KiB
ReStructuredText
.. meta::
|
|
:description: ROCm Systems Profiler introduction, explanation, and reference
|
|
:keywords: rocprof-sys, rocprofiler-systems, Omnitrace, ROCm, profiler, explanation, introduction, what is, tracking, visualization, tool, Instinct, accelerator, AMD, rocpd, perfetto, optiq, json, text, hatchet, output format
|
|
|
|
******************************
|
|
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.
|
|
|
|
ROCm Systems Profiler can emit results in several output formats, selected with the
|
|
``--output-format`` command-line argument. The detailed trace formats capture the full
|
|
timeline of events, while the aggregated formats summarize high-level results:
|
|
|
|
* **ROCm Profiling Data (rocpd)**: A detailed trace stored as a SQLite3 database
|
|
(``.db``), selected with ``--output-format rocpd``. This will soon be the default
|
|
output format. You can view and analyze ``rocpd`` files with the
|
|
`ROCm Optiq <https://rocm.docs.amd.com/projects/roc-optiq/en/latest/>`_ tool.
|
|
* **Perfetto**: A detailed trace stored as a protocol buffer (``.proto``), selected with
|
|
``--output-format proto``. Upload the Perfetto output files at
|
|
`ui.perfetto.dev <https://ui.perfetto.dev/>`_ to visualize the results in any modern
|
|
web browser.
|
|
* **Text**: Aggregated high-level results as human-readable text files, selected with
|
|
``--output-format text`` (``txt`` is an alias).
|
|
* **JSON**: Aggregated high-level results as JSON files for programmatic analysis,
|
|
selected with ``--output-format json``. The JSON output files are compatible with the
|
|
`hatchet <https://github.com/hatchet/hatchet>`_ Python package, which converts the
|
|
performance data into pandas data frames and facilitates multi-run comparisons,
|
|
filtering, and visualization in Jupyter notebooks.
|
|
|
|
Tokens are space- or comma-separated, so multiple formats can be requested at once, for
|
|
example ``--output-format proto rocpd``. For details on all formats, see
|
|
:doc:`./how-to/understanding-rocprof-sys-output`.
|
|
|
|
To use ROCm Systems Profiler for instrumentation, follow these two configuration steps:
|
|
|
|
#. Indicate the functions and modules to :doc:`instrument <./how-to/instrumenting-rewriting-binary-application>` in the target binaries, including the executable and any libraries
|
|
#. Specify the :doc:`instrumentation parameters <./how-to/configuring-runtime-options>` to use when the instrumented binaries are launched
|