Implement test suite optimization
@mawad-amd is already working on this.
Since Feb 4, 2026.
- Dominant language
- Python
- Stars
- 202
- Forks
- 47
- Avg merge
- 6d 11h
- Merged PRs (30d)
- 4
Description
Description:
Implement Phase 1 of the test suite optimization plan from https://github.com/ROCm/iris/pull/354 and https://github.com/ROCm/iris/pull/353 to reduce CI time by 30% (210 min → 147 min).
Background
Analysis in PR ==https://github.com/ROCm/iris/pull/354 identified that we're testing EVERY parameter combination on ALL 4 rank configs (1,2,4,8), which is wasteful. Multi-rank validation IS needed for symmetric heap allocation, but can be done with targeted tests rather than full parametrization.
Scope: Phase 1 - Targeted Multi-Rank Testing
Goal: Add pytest markers to distinguish tests that need multi-rank validation from those that don't.
Changes needed:
-
Add new pytest markers in
pytest.ini:@pytest.mark.single_rank- Tests validating tensor properties (shape, dtype, values) - run on 1 rank only@pytest.mark.multi_rank_required- Tests validating distributed behavior (symmetric heap visibility, cross-rank operations) - run on all ranks
-
Update CI workflow (
.github/workflows/test.yml):- Run
single_ranktests only onnranks=1 - Run
multi_rank_requiredtests on all rank configs - Run unmarked tests on all rank configs (for backward compatibility)
- Run
-
Add markers to existing tests:
- Mark ~200 tests as
multi_rank_required(tests that validate symmetric heap allocation, cross-rank visibility, distributed initialization) - Mark ~530K tests as
single_rank(tensor property tests: zeros, ones, empty, full, rand, etc.)
- Mark ~200 tests as
-
Create automated marker assignment script to help with the migration
Expected impact:
- CI time: 210 min → 147 min (30% reduction)
- Test count: Unchanged (530,877)
- Multi-rank test runs: 6.37M → 3.98M (37.5% reduction)
Reference: See FINAL_OPTIMIZATION_RECOMMENDATIONS.md in PR https://github.com/ROCm/iris/pull/354 for complete analysis and implementation details.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.