ROCprof Compute Viewer at a glance#
2026-08-24
3 min read time
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:
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 |
|---|---|---|
|
Standard path — |
|
Raw |
Trace captured directly through the rocprofiler-sdk API; requires a decoder-enabled build. |
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? |
|
Utilization |
How busy was each hardware pipe (VALU, MFMA, VMEM, LDS)? |
|
Instructions (ISA) |
Which instruction cost the most cycles, and is it waiting on memory? |
|
Hotspot |
What are the most expensive instructions, without scrolling the full ISA list? |
|
Flamegraph |
Which code path dominates accumulated latency? |
|
Global view |
How were waves distributed across all CUs and selected shader engines over time? |
|
Occupancy / Kernel dispatch |
How many waves were resident, per shader engine or per kernel? |
|
Counters |
How did a specific SQ hardware counter trend over the run? |
|
Summary (MI200/MI300 only) |
What’s the aggregate utilization and instruction cost across the whole trace? |
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#
Building ROCprof Compute Viewer from source — building RCV from source
Visualize and analyze GPU thread trace data — importing traces and generating ISA/source correlation
Views and controls — every view, its controls, and its shortcuts
Hidden latency — how RCV separates hidden from non-hidden latency
Troubleshooting — common issues