Skip to content

refactor(rocprofiler-compute): Extract analyze and membw helpers - #12532

Merged
vedithal-amd merged 5 commits into
rocprofiler-compute-developfrom
users/abchoudh/aiprofcomp-868/4-analyze-plumbing
Oct 8, 2026
Merged

vedithal-amd merged 5 commits into
rocprofiler-compute-developfrom
users/abchoudh/aiprofcomp-868/4-analyze-plumbing

Conversation

@abchoudh-amd

@abchoudh-amd abchoudh-amd commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

The memory chart HTML work needs reusable row filters, terminal column choices, and memory bandwidth summaries. This refactor preserves the existing analyze output.

Technical Details

  • Expose GPU and dispatch filtering for chart views while preserving CLI kernel-scoped dispatch validation.
  • Extract hidden-column resolution and memory bandwidth status text from terminal rendering.
  • Separate memory bandwidth tree loading from dataframe evaluation while keeping its existing warnings.
  • Cover the extracted parser, terminal, summary, and engine behavior with unit tests.

JIRA ID

JIRA ID: AIPROFCOMP-868

Test Plan

  • Run ctest for the parser, TTY, and memory bandwidth analysis targets.

Test Result

  • ctest for the parser, TTY, and memory bandwidth analysis targets pass

Submission Checklist

@abchoudh-amd
abchoudh-amd marked this pull request as ready for review October 5, 2026 09:12
Copilot AI balanced review requested due to automatic review settings October 5, 2026 09:12
@abchoudh-amd
abchoudh-amd requested a review from a team as a code owner October 5, 2026 09:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The focused extractions preserve existing behavior, include regression coverage, and have no identified blocking issues.

Review effort: Balanced
Findings: None

What changed in this PR

Extracts reusable rocprofiler-compute analysis helpers for upcoming HTML memory charts while preserving existing CLI output.

Changes:

  • Exposes GPU/dispatch filtering and hidden-column selection helpers.
  • Separates memory bandwidth summaries, specification loading, and evaluation.
  • Adds focused regression tests and registers summary tests.
File Description
projects/​rocprofiler-compute/​tests/​unit/​utils/​test_tty.py Tests column selection and configuration isolation.
projects/​rocprofiler-compute/​tests/​unit/​utils/​test_parser.py Tests filtering combinations and dispatch validation.
projects/​rocprofiler-compute/​tests/​unit/​membw_analysis/​test_membw_summary.py Tests status text and active-node detection.
projects/​rocprofiler-compute/​tests/​unit/​membw_analysis/​test_membw_engine.py Tests specification loading and dataframe evaluation.
projects/​rocprofiler-compute/​tests/​test_categories.yaml Adds summary tests to test categories.
projects/​rocprofiler-compute/​src/​utils/​tty.py Uses extracted summary and column helpers.
projects/​rocprofiler-compute/​src/​utils/​parser.py Exposes filtering without kernel restrictions.
projects/​rocprofiler-compute/​src/​membw_analysis/​summary.py Provides terminal-independent summary helpers.
projects/​rocprofiler-compute/​src/​membw_analysis/​engine.py Separates specification loading from evaluation.
projects/​rocprofiler-compute/​CMakeLists.txt Registers summary tests and coverage.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@xuchen-amd xuchen-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for working on this! please check typing suggestions.

@vedithal-amd vedithal-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will review

@vedithal-amd vedithal-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@abchoudh-amd
abchoudh-amd force-pushed the users/abchoudh/aiprofcomp-868/4-analyze-plumbing branch from 1aa2b01 to 80d187a Compare October 7, 2026 05:40
- Keep the analyzer extraction aligned with its current no-data handling.
- Leave the chart-only filter API for the branch that first consumes it.
@abchoudh-amd
abchoudh-amd force-pushed the users/abchoudh/aiprofcomp-868/4-analyze-plumbing branch from 80d187a to a311d29 Compare October 8, 2026 05:41
@vedithal-amd

Copy link
Copy Markdown
Contributor

override merging due to enough green CI signal - the RCCL PR Gating Hang will be fixed by #12843

@vedithal-amd
vedithal-amd merged commit 94b4c8d into rocprofiler-compute-develop Oct 8, 2026
89 checks passed
@vedithal-amd
vedithal-amd deleted the users/abchoudh/aiprofcomp-868/4-analyze-plumbing branch October 8, 2026 14:43
xuchen-amd added a commit that referenced this pull request Oct 8, 2026
…ry_chart_json_layouts

Resolves the src/utils/tty.py import conflict with #12532: keep its
membw_analysis.summary imports, take the memory_chart renderer imports,
and drop the replaced mem_chart_gfx* modules and the now-unused
BottleneckNode.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
vedithal-amd pushed a commit that referenced this pull request Oct 25, 2026
)

## Motivation

The memory chart HTML work needs reusable row filters, terminal column
choices, and memory bandwidth summaries. This refactor preserves the
existing analyze output.

## Technical Details

- Expose GPU and dispatch filtering for chart views while preserving CLI
kernel-scoped dispatch validation.
- Extract hidden-column resolution and memory bandwidth status text from
terminal rendering.
- Separate memory bandwidth tree loading from dataframe evaluation while
keeping its existing warnings.
- Cover the extracted parser, terminal, summary, and engine behavior
with unit tests.

## JIRA ID

JIRA ID: AIPROFCOMP-868

## Test Plan

- [x] Run ctest for the parser, TTY, and memory bandwidth analysis
targets.

## Test Result

- [x] ctest for the parser, TTY, and memory bandwidth analysis targets
pass

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
vedithal-amd pushed a commit that referenced this pull request Oct 26, 2026
)

## Motivation

The memory chart HTML work needs reusable row filters, terminal column
choices, and memory bandwidth summaries. This refactor preserves the
existing analyze output.

## Technical Details

- Expose GPU and dispatch filtering for chart views while preserving CLI
kernel-scoped dispatch validation.
- Extract hidden-column resolution and memory bandwidth status text from
terminal rendering.
- Separate memory bandwidth tree loading from dataframe evaluation while
keeping its existing warnings.
- Cover the extracted parser, terminal, summary, and engine behavior
with unit tests.

## JIRA ID

JIRA ID: AIPROFCOMP-868

## Test Plan

- [x] Run ctest for the parser, TTY, and memory bandwidth analysis
targets.

## Test Result

- [x] ctest for the parser, TTY, and memory bandwidth analysis targets
pass

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
lamikr pushed a commit that referenced this pull request Oct 27, 2026
)

## Motivation

The memory chart HTML work needs reusable row filters, terminal column
choices, and memory bandwidth summaries. This refactor preserves the
existing analyze output.

## Technical Details

- Expose GPU and dispatch filtering for chart views while preserving CLI
kernel-scoped dispatch validation.
- Extract hidden-column resolution and memory bandwidth status text from
terminal rendering.
- Separate memory bandwidth tree loading from dataframe evaluation while
keeping its existing warnings.
- Cover the extracted parser, terminal, summary, and engine behavior
with unit tests.

## JIRA ID

JIRA ID: AIPROFCOMP-868

## Test Plan

- [x] Run ctest for the parser, TTY, and memory bandwidth analysis
targets.

## Test Result

- [x] ctest for the parser, TTY, and memory bandwidth analysis targets
pass

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants