Skip to content

[rocprofiler-compute] Remove the CSV profile backend (Phase A)#7768

Draft
jamessiddeley-amd wants to merge 10 commits into
rocprofiler-compute-developfrom
users/jamessiddeley-amd/remove-csv-backend-output-path
Draft

[rocprofiler-compute] Remove the CSV profile backend (Phase A)#7768
jamessiddeley-amd wants to merge 10 commits into
rocprofiler-compute-developfrom
users/jamessiddeley-amd/remove-csv-backend-output-path

Conversation

@jamessiddeley-amd

@jamessiddeley-amd jamessiddeley-amd commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Motivation

rocpd .db is now the canonical profile output. Keeping the legacy CSV profile backend forces two parallel storage formats, requires "not supported in CSV" caveats on every new feature, and drags csv-only conversion code (and its tests) along with it. This is Phase A of the profile-interface refactor: remove the CSV profile backend so there is a single storage format, before the profiling_data boundary lands.

See the design doc (Phase A): (#7424)

Technical Details

  • Remove the --format-rocprof-output flag and the rocpd->csv fallback; rocpd is the only profile output format.
  • Collapse run_prof to the rocpd-only path and delete the csv-only conversion helpers (process_rocprofv3_output, v3_counter_csv_to_v2_csv, convert_native_counter_collection_csv, process_kokkos_trace_output).
  • Prune now-unused pandas-style helpers from utils_profile_csv.py, keeping the stdlib csv I/O the rocpd path still needs.
  • Delete/convert the tests covering the removed code paths.
  • Update docs (profile/analyze) and the architecture design doc + diagrams.

Scope note: results_*.csv and utils_profile_csv.py are intentionally kept. The rocpd path still makes results_*.csv and analyze still reads it; removing that intermediate (and having analyze read directly from .db) is Phase B. This is a small data-path change but a large code deletion (around 2.9k lines which is mostly tests and dead csv helpers).

JIRA ID

Phased implementation for AIPROFCOMP-593

Test Plan

  • Run the profile and analyze unit/integration suites (test_utils,
    test_utils_profile_csv, test_profile_general, test_profiler_base).
  • ruff lint on changed files.
  • Confirm no remaining references to format_rocprof_output / --format-rocprof-output.
  • Manual profile + analyze run on a workload to verify rocpd output and report.

Test Result

  • tests pending

Submission Checklist

jamessiddeley-amd and others added 9 commits June 18, 2026 16:49
Adds docs/design/clean_architecture.md proposing a single profile data
boundary with reader/writer interfaces ahead of upcoming default rocpd
profiling output and other file format work. Docs-only; no code changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
…/rocm-systems into users/jamessiddeley-amd/design-doc-refactor-profile-boundaries
…/rocm-systems into users/jamessiddeley-amd/design-doc-refactor-profile-boundaries
@github-actions github-actions Bot added documentation Improvements or additions to documentation project: rocprofiler-compute labels Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant