Skip to content

Reduce CI test matrix from 63 to 33 jobs - #479

Merged
mawad-amd merged 2 commits into
mainfrom
muhaawad/ci-reduce-test-matrix
Mar 24, 2026
Merged

Reduce CI test matrix from 63 to 33 jobs#479
mawad-amd merged 2 commits into
mainfrom
muhaawad/ci-reduce-test-matrix

Conversation

@mawad-amd

Copy link
Copy Markdown
Collaborator

Summary

  • Reduce editable + pip install matrices from 20 jobs each (5 dirs × 4 ranks) to 5 jobs each (5 dirs × 2-rank only). Git install retains the full matrix.
  • Remove sequential needs: chain (test-git → test-editable → test-install) so all three install stages run in parallel.
  • Add timeout-minutes: 180 to test-install (was missing, matching the other stages).

Rationale

Analysis of the last completed main CI run showed:

  • All actual test runtimes are fast (1–20 min). Wall time inflation is entirely GPU allocation contention on our single 8-GPU machine.
  • The sequential needs: chain forced 63 jobs to run across 3 serial stages, multiplying wait time.
  • Running full 1/2/4/8-rank matrices for editable and pip install is redundant — they exercise the same kernels, just with a different install method. 2-rank smoke tests verify the install works and exercise basic distributed code paths.
  • 8-rank jobs monopolize all 8 GPUs and cause starvation for other jobs in the queue.

Impact

Metric Before After Reduction
Total jobs 63 33 48%
GPU-slots 239 109 54%
8-GPU jobs 16 6 62%

Git install (production path) still gets full coverage across 1, 2, 4, and 8 ranks.

Test plan

  • Main CI passed on current main (run 23452528485 — all 63 jobs green)
  • Verify this PR's CI completes with the reduced matrix
  • Confirm no test regressions (same tests, just fewer rank/install combos)

🤖 Generated with Claude Code

Full test coverage (1/2/4/8 ranks × 5 dirs) runs only for git install.
Editable and pip install stages reduced to 2-rank smoke tests (5 jobs each)
to verify the install mechanism works with basic distributed paths. Removes
the sequential needs: chain so all stages run in parallel.

Reduces total jobs from 63 to 33 and eliminates GPU starvation caused by
the sequential dependency chain.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mawad-amd
mawad-amd requested review from BKP and neoblizz as code owners March 24, 2026 11:30
Copilot AI review requested due to automatic review settings March 24, 2026 11:30
@github-actions github-actions Bot added in-progress We are working on it iris Iris project issue labels Mar 24, 2026

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.

Pull request overview

This PR updates the Iris CI workflow to reduce GPU queue contention by shrinking the editable/pip-install rank matrices to 2-rank smoke tests and allowing install stages to run in parallel.

Changes:

  • Reduce test-editable and test-install matrices from ranks 1/2/4/8 to 2-rank only (per test directory).
  • Remove the sequential needs: chain so test-git, test-editable, and test-install can run concurrently.
  • Add timeout-minutes: 180 to test-install to align with other stages.

Comment thread .github/workflows/iris-tests.yml
Comment thread .github/workflows/iris-tests.yml
Comment thread .github/workflows/iris-tests.yml
Both test-editable and test-install now depend on test-git, but run
in parallel with each other. This avoids wasting GPU time on broken
commits while keeping the two smoke-test stages concurrent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mawad-amd mawad-amd changed the title ci: reduce editable/pip install to 2-rank smoke tests Reduce CI test matrix from 63 to 33 jobs Mar 24, 2026
@mawad-amd
mawad-amd merged commit 0f27599 into main Mar 24, 2026
41 checks passed
@mawad-amd
mawad-amd deleted the muhaawad/ci-reduce-test-matrix branch March 24, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in-progress We are working on it iris Iris project issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants