Skip to content

Conversation

@xuchen-amd
Copy link
Contributor

@xuchen-amd xuchen-amd commented Feb 7, 2026

Motivation

rocprof-compute may contain feature(s) containing multiple development stages, and these features' subcomponents are released on a rolling basis. Adding the option --experimental allows interested users to use the work-in-progress features that are by default hidden.

Technical Details

Adds an --experimental switch to gate access to work-in-progress CLI options (e.g., spatial multiplexing), keeping them hidden by default while allowing opt-in usage.

Changes:
Introduces an experimental feature registry (EXPERIMENTAL_FEATURES) in src/argparser.py and a new --experimental CLI option.
Gates experimental CLI flags behind --experimental and expands help output.
Adds early argv scanning to detect attempted use of experimental flags without opting in.

JIRA ID

AIPROFCOMP-186

Test Plan

Add unit tests
Add to ctest
Local pass (mi325x)

Test Result

  • Add unit tests
  • Add to ctest
  • Local pytest pass (mi325x)
  • Local ctest pass (mi325x)
image (failures not related to this pr)

Submission Checklist

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds an --experimental switch to rocprof-compute to gate access to work-in-progress CLI options (e.g., spatial multiplexing), keeping them hidden by default while allowing opt-in usage.

Changes:

  • Introduces an experimental feature registry (EXPERIMENTAL_FEATURES) and a new --experimental CLI option.
  • Gates experimental CLI flags behind --experimental and optionally expands help output when --experimental --help is requested.
  • Adds early argv scanning to detect attempted use of experimental flags without opting in.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

File Description
projects/rocprofiler-compute/src/rocprof_compute_base.py Pre-scans argv for experimental usage, enforces opt-in, and passes experimental gating flags into the arg parser.
projects/rocprofiler-compute/src/argparser.py Adds --experimental, defines the experimental feature registry, and conditionally registers experimental CLI options.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 195 to 229
@@ -192,7 +220,12 @@ def parse_args(self) -> None:
usage="rocprof-compute [mode] [options]",
)
omniarg_parser(
parser, config.rocprof_compute_home, self.__supported_archs, self.__version
parser,
config.rocprof_compute_home,
self.__supported_archs,
self.__version,
experimental_enabled=experimental_requested,
show_experimental_help=show_experimental_help,
)
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

Add coverage for the new experimental gating behavior (e.g., --spatial-multiplexing without --experimental should exit with an error; --experimental --help should show the experimental feature list; normal invocations without any experimental flags should not crash). This prevents regressions in CLI parsing behavior.

Copilot uses AI. Check for mistakes.
xuchen-amd and others added 2 commits February 6, 2026 20:12
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@xuchen-amd xuchen-amd marked this pull request as ready for review February 9, 2026 20:51
@xuchen-amd xuchen-amd requested review from a team and prbasyal-amd as code owners February 9, 2026 20:51
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.

1 participant