Skip to content

rocprof studioSee what your GPU actually did

A Rust + Tauri desktop app and headless core for reading rocprofv3, ROCPD, ATT and RADV captures — with an MCP server and kernel/shader tuning when you ask for them.

rocprof studio — trace workspace (bundled synthetic example)
The rocprof studio trace workspace showing the bundled synthetic example
Built withRust + Tauri 2ROCm · rocprofv3MCP

These screenshots use the bundled synthetic example

Most screenshots on this site were captured from public/demo.json, a synthetic trace shipped for exploring the interface. The app labels it "Example capture · Synthetic trace for exploring the interface. These are not GPU measurements." Treat every number in those images as illustrative, never as a hardware measurement. Screenshots taken from real recorded captures (ROCPD, ATT) are captioned accordingly.

Read this first ​

rocprof studio (package rocprof-studio, version 0.3.0, badged PREVIEW in the app) says no more than it can back up. Three things first:

  • Importing a capture is read-only. The import path never writes into your capture directories or databases.
  • Two surfaces are not read-only, and only run when you invoke them. The MCP tool profile_run (and profile_start) launches a program under a profiler; the kernel- and shader-tuning workers compile candidate variants and can write replacement source back to disk. See MCP mode, Kernel tuning and Shader tuning.
  • This is not full ROCprof Compute Viewer parity. The project tracks ROCprof Compute Viewer as its baseline and is not complete against it. It is also not a pixel-identical Qt reimplementation, and it has no LLM source-iteration feature despite the "Kernel experiments" placeholder in the sidebar.

What it is ​

It inspects ROCm GPU profiling captures. A single Rust analysis core (crates/profile-core) does the importing and analysis; a Tauri 2 shell (src-tauri) wraps it with a React/TypeScript UI (src), and the same core also runs as a headless importer CLI and behind the MCP server. You point it at the artifacts a profiler already produced and it reconstructs the timeline, the per-wave execution, the ISA, the source linkage, occupancy, counters and sampling, then lets you export evidence about what you saw.

It reads decoded rocprofv3 directories, kernel-trace and counter CSVs, SPM and PC-sampling JSON, ROCPD/legacy databases, raw ATT and RADV .rgp — all through one analysis core shared by the GUI and the headless CLI. Synthetic values are labelled, "not collected" is shown distinctly from an observed zero, and summed-duration vs interval-union accounting is kept separate.

If you are new, start with Installation, then Running & modes, Input formats and the UI tour. If you came for automation, go straight to MCP mode.

This site documents rocprof-studio without changing it. Screenshots of the synthetic example are labelled as such and are not GPU measurements.