[CI] Run CTest with --parallel 1 for library test drivers#5088
Draft
tony-davis wants to merge 1 commit intomainfrom
Draft
[CI] Run CTest with --parallel 1 for library test drivers#5088tony-davis wants to merge 1 commit intomainfrom
tony-davis wants to merge 1 commit intomainfrom
Conversation
Set CTest job parallelism to 1 in GitHub Actions test drivers under build_tools/github_actions/test_executable_scripts/ to reduce GPU and driver contention on shared runners. - test_runner.py: fixed parallel count (rocBLAS, MIOpen, hipSPARSELt, rocprofiler-compute) - test_rocthrust.py and per-component scripts that hardcoded 8 - test_rocprofiler_sdk.py: ctest only; cmake --build --parallel unchanged rocm-libraries/test/therock mirrors are unchanged for separate rollout. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates TheRock’s GitHub Actions CTest driver scripts to run tests serially (ctest --parallel 1) in order to reduce GPU/driver contention and improve CI stability on shared runners.
Changes:
- Set
ctestparallelism to1in the generictest_runner.pydriver. - Set
ctestparallelism to1intest_rocthrust.py. - Update multiple per-component test scripts that hardcoded
--parallel 8to--parallel 1(andtest_rocprofiler_sdk.pyto usectest --parallel 1while leaving build parallelism unchanged).
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| build_tools/github_actions/test_executable_scripts/test_runner.py | Forces serial CTest execution via the shared multi-component runner. |
| build_tools/github_actions/test_executable_scripts/test_rocthrust.py | Forces serial CTest execution for rocthrust tests. |
| build_tools/github_actions/test_executable_scripts/test_rocrand.py | Changes rocRAND CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_rocprofiler_sdk.py | Changes rocprofiler-sdk CTest invocation to --parallel 1 (build parallelism unchanged). |
| build_tools/github_actions/test_executable_scripts/test_rocprim.py | Changes rocPRIM CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_miopenprovider.py | Changes MIOpen provider CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hiprand.py | Changes hipRAND CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hipkernelprovider.py | Changes hip kernel provider CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hipdnn.py | Changes hipDNN CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hipdnn_samples.py | Changes hipDNN samples CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hipdnn_integration_tests.py | Changes hipDNN integration tests CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hipdnn_install.py | Changes hipDNN install tests CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hipcub.py | Changes hipCUB CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_hipblasltprovider.py | Changes hipBLASLt provider CTest invocation to --parallel 1. |
| build_tools/github_actions/test_executable_scripts/test_fusilliprovider.py | Changes Fusilli provider CTest invocation to --parallel 1. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Sets CTest job parallelism to 1 (serial test processes) across TheRock GitHub Actions test drivers in
build_tools/github_actions/test_executable_scripts/, to reduce GPU/driver contention and improve stability on shared CI runners.Changes
test_runner.py: single parallel count1(replaces 8 and gfx1152/gfx1153 → 4). Affects rocBLAS, MIOpen, hipSPARSELt, rocprofiler-compute jobs that use this runner.test_rocthrust.py: same.--parallel8→1(rocRAND, rocPRIM, MIOpen provider, hipCUB, hipDNN family, hipRAND, Fusilli, hipBLASLt provider, hipkernel provider).test_rocprofiler_sdk.py:ctest --parallelset to1;cmake --build --parallel 8unchanged.test_rocwmma.pywas already parallel 1; no edit.Out of scope
rocm-libraries/test/therock/mirrors (TheRock-only for this pass).Follow-up
If step durations approach timeouts, consider raising per-component
timeout_minutesinfetch_test_configurations.pyor additional sharding rather than restoring CTest parallelism.Made with Cursor