ROCprof Compute Viewer at a glance#

2026-08-24

3 min read time

Applies to Linux

ROCprof Compute Viewer (RCV) is the visualization front end for Advanced Thread Trace (ATT) data: it renders decoded, instruction-level wavefront execution traces so you can see exactly which instruction stalled, for how long, and why. Use RCV once a coarser-grained tool (kernel-level counters or API traces) has identified which kernel is slow; RCV narrows the analysis down to the specific instruction responsible.

This topic orients you to how RCV fits into the profiling pipeline and which view to open for a given question. For step-by-step instructions, follow the links to the relevant how-to and reference topics.

How it works#

RCV sits at the end of a three-stage pipeline:

How RCV works

This output path is independent of the general --output-format setting used for other rocprofv3 tracing. For how to collect the trace itself, see Using thread trace.

Input formats at a glance#

RCV auto-detects which of the following you’re pointing it at; you don’t need to specify the format.

Format

When to use it

Details

rocprofv3 UI output (JSON)

Standard path — rocprofv3 --att already decoded the trace for you. Identified by a filenames.json file in the directory.

Import a rocprofv3 UI output directory

Raw .att/.out

Trace captured directly through the rocprofiler-sdk API; requires a decoder-enabled build.

Import raw .att and .out files

Views at a glance#

Each view answers a different performance question. Full descriptions and controls for every view are in Views and controls.

View

Question it answers

Reference

Compute Unit

Which wavefronts ran, stalled, or idled, and when?

Compute Unit and Utilization view

Utilization

How busy was each hardware pipe (VALU, MFMA, VMEM, LDS)?

Compute Unit and Utilization view

Instructions (ISA)

Which instruction cost the most cycles, and is it waiting on memory?

Instructions view

Hotspot

What are the most expensive instructions, without scrolling the full ISA list?

Hotspot view

Flamegraph

Which code path dominates accumulated latency?

Flamegraph view

Global view

How were waves distributed across all CUs and selected shader engines over time?

Global view

Occupancy / Kernel dispatch

How many waves were resident, per shader engine or per kernel?

Occupancy and Kernel dispatch views

Counters

How did a specific SQ hardware counter trend over the run?

Counters view

Summary (MI200/MI300 only)

What’s the aggregate utilization and instruction cost across the whole trace?

Summary view

Getting started#

RCV depends on AQLprofile, ROCprofiler-SDK, and Qt. The ROCprof Trace Decoder is an additional dependency only when importing raw .att/.out files. Prebuilt binaries are available in the RCV releases, so a build from source isn’t required to get started.

For supported versions and build instructions, see Building ROCprof Compute Viewer from source. For rocprofv3’s own prerequisites (AQLprofile, ROCprofiler-SDK, and the decoder it bundles), see the Requirements section.

See also#