[rocprofiler-compute] Remove --nodes, --list-nodes and --spatial-multiplexing#7761
Open
vedithal-amd wants to merge 2 commits into
Open
Conversation
…iplexing - Remove the multi-node analyze options --nodes and --list-nodes and the experimental --spatial-multiplexing option from profile and analyze modes. - Remove the supporting plumbing: Node-column handling, filter_nodes, get_valid_nodes, find_1st_sub_dir, create_df_pmc node branches, merge_counters_spatial_multiplex, and the soc_base spatial bucketing. - These features did not work as expected and will be redesigned later. Co-Authored-By: Claude Opus 4 (1M context)
…moval - Replace removed create_df_pmc nodes/spatial_multiplexing signature and the deleted spatial_multiplex_merge_counters example with the current code. - Use the iteration-multiplexing path in the pre_processing examples instead. Co-Authored-By: Claude Opus 4 (1M context)
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes rocprofiler-compute’s previously experimental/partial multi-node analysis surface area (--nodes, --list-nodes) and spatial multiplexing (--spatial-multiplexing in profile/analyze), simplifying the codebase to the single-node workload layout.
Changes:
- Drops the CLI options and all downstream plumbing (schema fields, filters, I/O helpers, spatial merge logic).
- Simplifies analysis/workload loading and CSV join logic to assume
sysinfo.csv/pmc_perf.csvlive in the workload root directory. - Removes/updates affected unit tests and documents the removal in the CHANGELOG and coding-style guide.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/rocprofiler-compute/tools/metric_validation.py | Updates PMC dataframe load call to new create_df_pmc signature. |
| projects/rocprofiler-compute/tools/counter_grouping_inspector.py | Removes unused spatial multiplexing argument plumbing. |
| projects/rocprofiler-compute/tests/test_utils.py | Removes unit tests for removed spatial-multiplex counter merge helper. |
| projects/rocprofiler-compute/tests/test_profiler_base.py | Removes spatial multiplexing arg from test arg scaffolding. |
| projects/rocprofiler-compute/tests/test_analyze_commands.py | Removes node-related test data/coverage and updates call signatures. |
| projects/rocprofiler-compute/src/utils/utils_analysis.py | Deletes merge_counters_spatial_multiplex helper. |
| projects/rocprofiler-compute/src/utils/schema.py | Removes Workload.filter_nodes from schema. |
| projects/rocprofiler-compute/src/utils/parser.py | Removes node filtering from apply_filters. |
| projects/rocprofiler-compute/src/utils/file_io.py | Simplifies create_df_pmc, removes node filtering and node discovery helpers. |
| projects/rocprofiler-compute/src/rocprof_compute_tui/analysis_tui.py | Removes spatial multiplex merge and node filter propagation. |
| projects/rocprofiler-compute/src/rocprof_compute_soc/soc_base.py | Removes spatial multiplexing perfmon bucketing logic, simplifies file emission. |
| projects/rocprofiler-compute/src/rocprof_compute_profile/profiler_base.py | Removes now-dead sanitize check for spatial multiplexing + torch trace. |
| projects/rocprofiler-compute/src/rocprof_compute_base.py | Simplifies sysinfo loading path for analysis runs. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_webui.py | Removes node/spatial multiplexing filter paths and merge step. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_db.py | Removes spatial multiplex merge step. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_cli.py | Removes spatial multiplex merge step and node filter propagation. |
| projects/rocprofiler-compute/src/rocprof_compute_analyze/analysis_base.py | Removes node/spatial multiplexing logic from sysinfo discovery, sanitize, join flow, and API surface. |
| projects/rocprofiler-compute/src/argparser.py | Removes --nodes, --list-nodes, and --spatial-multiplexing flags and help text. |
| projects/rocprofiler-compute/PYTHON_CODING_STYLE.md | Updates examples to reflect simplified single-directory create_df_pmc usage. |
| projects/rocprofiler-compute/CHANGELOG.md | Documents removal of multi-node/spatial multiplexing options. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+772
to
775
| sys_info = pd.read_csv(f"{base_path}/sysinfo.csv") | ||
| sys_info_dict = { | ||
| key: value[0] for key, value in sys_info.to_dict("list").items() | ||
| } |
Comment on lines
+226
to
229
| sysinfo_path = path_info[0] | ||
| if sysinfo_path: | ||
| sys_info = pd.read_csv(f"{sysinfo_path}/sysinfo.csv") | ||
| arch = sys_info.iloc[0]["gpu_arch"] |
Comment on lines
242
to
246
| w = schema.Workload() | ||
| sysinfo_path = get_sysinfo_path(path_info[0]) | ||
| sysinfo_path = path_info[0] | ||
| if sysinfo_path: | ||
| w.sys_info = pd.read_csv(f"{sysinfo_path}/sysinfo.csv") | ||
| if not getattr(args, "no_roof", False): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The multi-node analysis options (
--nodes,--list-nodes) and the experimental--spatial-multiplexingoption (profile and analyze) did not work as expected. Rather than carry partially-working surface area, this removes the feature family completely so it can be redesigned and reintroduced cleanly later.Technical Details
--nodes,--list-nodes, and--spatial-multiplexing(both profile and analyze), and the spatial-multiplexing line from--experimentalhelp.Nodecolumn,filter_nodes(schema/parser/file_io),get_valid_nodes,find_1st_sub_dir, the node/spatial branches increate_df_pmc,merge_counters_spatial_multiplex, and the spatial bucketing insoc_base.JIRA ID
Test Plan
ruff checkandruff format --checkover src/tools/tests.tests/test_utils.py,tests/test_profiler_base.py, and theapply_filters/create_df_kernel_top_stats/jointests intests/test_analyze_commands.py.Test Result
All listed unit tests pass; ruff and format checks clean.
Submission Checklist