ROCm / ROCm/iris

Implement test suite optimization

Open
#355 0 comments 1 reaction 2 assignees View on GitHub

@mawad-amd is already working on this.

Since Feb 4, 2026.

iris test
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:

  1. 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
  2. Update CI workflow (.github/workflows/test.yml):

    • Run single_rank tests only on nranks=1
    • Run multi_rank_required tests on all rank configs
    • Run unmarked tests on all rank configs (for backward compatibility)
  3. 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.)
  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.