Skip to content

[hip-tests] Add level_default all remove cmd options - #11937

Merged
amilanov-amd merged 9 commits into
developfrom
users/amilanov/add-level-default-all-remove-cmd-options
Oct 8, 2026
Merged

amilanov-amd merged 9 commits into
developfrom
users/amilanov/add-level-default-all-remove-cmd-options

Conversation

@amilanov-amd

@amilanov-amd amilanov-amd commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

There is a need to define test levels without any constraints/implicit level defining. This patch allows cases to define any level. Added level_default, level_all and level_stress to define most common level combinations. Some of the cli arguments can be/should be defined as test parameters, so that their values can be implicitly used without specifically defining them. This patch removes such arguments and defines them as test parameters.

Technical Details

Expanded the yaml configurations. Replaced level_2 cases with level_default. Removed cli arguments and defined them as test parameters.

Issue Tracking

JIRA ID: AIRUNTIME-645

Test Plan

Ensure build passes. All tests pass

Test Result

Local build passed, local tests pass

Submission Checklist

@therock-pr-bot

therock-pr-bot Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ⚠️ Warning Error: Source/code files changed without an accompanying unit test.
Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*).
Current: code file(s) changed: projects/hip-tests/catch/config/parse_config.py, projects/hip-tests/catch/hipTestMain/hip_test_params.cc, projects/hip-tests/catch/hipTestMain/main.cc, projects/hip-tests/catch/performance/scenarios/memory/hipPerfBufferCopyInterGpuPerformance.cc, projects/hip-tests/catch/performance/scenarios/memory/hipPerfBufferCopySpeedAll2All.cc (+25 more); no test file found
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —

🎉 All policy checks passed!

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

Base automatically changed from users/amilanov/hip_tests_standardize_level_discovery to develop September 28, 2026 13:26
@amilanov-amd
amilanov-amd requested a review from a team as a code owner September 28, 2026 13:26
@amilanov-amd
amilanov-amd force-pushed the users/amilanov/add-level-default-all-remove-cmd-options branch from 2f6f017 to 3ff094e Compare September 28, 2026 13:36
Copilot AI lite review requested due to automatic review settings September 28, 2026 13:36

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

🟡 Changes recommended

Critical parser compatibility and standalone build/linking issues, plus a stress-level configuration issue, remain unresolved.

Review effort: Lite
Findings: 5 High severity

Open (5)
What changed in this PR

Migrates HIP test workload controls from CLI options to YAML-defined level parameters, adding reusable default, stress, and all-level presets.

Changes:

  • Updates atomic, threadfence, cooperative-group, math, and performance tests.
  • Adds level-specific parameter APIs and configuration generation.
  • Replaces legacy level references and removes migrated CLI options.
File Summary
projects/​hip-tests/​catch/​unit/​threadfence/​__threadfence.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​threadfence/​__threadfence_system.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​threadfence/​__threadfence_block.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​math/​math_common.hh Uses level-based math parameters.
projects/​hip-tests/​catch/​unit/​cooperativeGrps/​thread_block.cc Uses configured iterations.
projects/​hip-tests/​catch/​unit/​cooperativeGrps/​thread_block_tile.cc Uses configured iterations.
projects/​hip-tests/​catch/​unit/​cooperativeGrps/​cooperative_groups_common.hh Removes obsolete CLI dependency.
projects/​hip-tests/​catch/​unit/​cooperativeGrps/​coalesced_group.cc Uses configured iterations.
projects/​hip-tests/​catch/​unit/​cooperativeGrps/​coalesced_group_tiled_partition.cc Uses configured iterations.
projects/​hip-tests/​catch/​unit/​atomics/​unsafeAtomicMin.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​unsafeAtomicMax.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​unsafeAtomicAdd.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​safeAtomicMin.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​safeAtomicMax.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​safeAtomicAdd.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​min_max_common.hh Updates parameter dependency.
projects/​hip-tests/​catch/​unit/​atomics/​bitwise_common.hh Updates parameter dependency.
projects/​hip-tests/​catch/​unit/​atomics/​atomicXor.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicSub.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicOr.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicMin.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicMax.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicInc.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicExch.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicExch_common.hh Updates parameter dependency.
projects/​hip-tests/​catch/​unit/​atomics/​atomicDec.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicCAS.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicAnd.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​atomicAdd.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​arithmetic_common.hh Updates parameter dependency.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_fetch_xor.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_fetch_or.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_fetch_min.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_fetch_max.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_fetch_and.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_fetch_add.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_exchange.cc Uses level-based iterations.
projects/​hip-tests/​catch/​unit/​atomics/​__hip_atomic_compare_exchange_strong.cc Uses level-based iterations.
projects/​hip-tests/​catch/​performance/​scenarios/​memory/​hipPerfBufferCopySpeedP2P.cc Uses configured iterations.
projects/​hip-tests/​catch/​performance/​scenarios/​memory/​hipPerfBufferCopySpeedAll2All.cc Removes obsolete CLI dependency.
projects/​hip-tests/​catch/​performance/​scenarios/​memory/​hipPerfBufferCopyInterGpuPerformance.cc Removes obsolete CLI dependency.
projects/​hip-tests/​catch/​include/​warp_common.hh Removes obsolete CLI dependency.
projects/​hip-tests/​catch/​include/​performance_common.hh Uses configured iterations and warmups.
projects/​hip-tests/​catch/​include/​hip_test_params.hh Adds level parameter APIs.
projects/​hip-tests/​catch/​include/​cmd_options.hh Removes migrated workload options.
projects/​hip-tests/​catch/​hipTestMain/​main.cc Removes migrated CLI arguments.
projects/​hip-tests/​catch/​hipTestMain/​hip_test_params.cc Implements parameter accessors.
projects/​hip-tests/​catch/​config/​parse_config.py Supports composite levels and parameters.
projects/​hip-tests/​catch/​config/​configs/​unit/​warp.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​vulkan_interop.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​vector_types.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​threadfence.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​syncthreads.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​synchronization.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​surface.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​streamperthread.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​sanityTests.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​rtc.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​printf.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​p2p.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​occupancy.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​multiThread.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​library.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​launchBounds.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​kernel.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​hrr.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​hip_specific.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​gl_interop.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​gcc.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​g++.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​executionctx.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​executionControl.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​event.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​errorHandling.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​env.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​dynamicLoading.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​device_memory.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​context.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​complex.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​compiler.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​cluster.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​clock.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​channelDescriptor.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​callback.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​c_compilation.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​unit/​assertion.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​TypeQualifiers.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​stress.yaml Applies default and stress levels.
projects/​hip-tests/​catch/​config/​configs/​multiproc.yaml Uses updated level presets.
projects/​hip-tests/​catch/​config/​configs/​definitions.yaml Defines levels and parameters.
projects/​hip-tests/​catch/​config/​configs/​ABM.yaml Uses updated level presets.

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

@mangupta mangupta 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.

🤖 AI-assisted pre-review (for @mangupta)

@amilanov-amd
amilanov-amd force-pushed the users/amilanov/add-level-default-all-remove-cmd-options branch from 1519352 to 87f2c79 Compare September 30, 2026 13:45
@amilanov-amd

Copy link
Copy Markdown
Contributor Author

@mangupta please re-review

@mangupta

mangupta commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

🤖 AI-assisted pre-review (for @mangupta)

Re-reviewed the updated head (87f2c79dad1a) — no new findings at or above the posting threshold.

@amilanov-amd
amilanov-amd force-pushed the users/amilanov/add-level-default-all-remove-cmd-options branch from 87f2c79 to da03ba3 Compare October 6, 2026 13:20
@mangupta

mangupta commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

🤖 AI-assisted pre-review (for @mangupta)

Re-reviewed the updated head (da03ba38c9dd) — no new findings at or above the posting threshold.

@amilanov-amd
amilanov-amd force-pushed the users/amilanov/add-level-default-all-remove-cmd-options branch from da03ba3 to 3de7178 Compare October 7, 2026 12:13
@mangupta

mangupta commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

🤖 AI-assisted pre-review (for @mangupta)

Re-reviewed the updated head (3de7178ca172) — no new findings at or above the posting threshold.

@amilanov-amd
amilanov-amd force-pushed the users/amilanov/add-level-default-all-remove-cmd-options branch from 3de7178 to 0300e07 Compare October 8, 2026 11:41
@mangupta

mangupta commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

🤖 AI-assisted pre-review (for @mangupta)

Re-reviewed the updated head (0300e0775405) — no new findings at or above the posting threshold.

@amilanov-amd
amilanov-amd merged commit aeb431e into develop Oct 8, 2026
91 of 92 checks passed
@amilanov-amd
amilanov-amd deleted the users/amilanov/add-level-default-all-remove-cmd-options branch October 8, 2026 16:49
@systems-assistant

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

anujshuk-amd pushed a commit that referenced this pull request Oct 12, 2026
## Motivation

There is a need to define test levels without any constraints/implicit
level defining. This patch allows cases to define any level. Added
level_default, level_all and level_stress to define most common level
combinations. Some of the cli arguments can be/should be defined as test
parameters, so that their values can be implicitly used without
specifically defining them. This patch removes such arguments and
defines them as test parameters.

## Technical Details

Expanded the yaml configurations. Replaced level_2 cases with
level_default. Removed cli arguments and defined them as test
parameters.

## Issue Tracking

JIRA ID: AIRUNTIME-645

## Test Plan

Ensure build passes. All tests pass

## Test Result

Local build passed, local tests pass

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
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.

3 participants