Ci/cuda test matrix smoke - #7757
Draft
MrLi000001 wants to merge 3 commits into
Draft
Conversation
The CUDA CI built every .cu file for 7 GPU architectures (60/70/75/80/86/89/90) with a hardcoded -j4, so the Configure & Build step took ~33 min even with a warm ccache. - Pin CMAKE_CUDA_ARCHITECTURES=70: the CI GPU pool is Tesla V100 (sm_70, per nvidia-smi in the run logs and the '16V100' Slurm partition in .ci/slurm/config.ini). This cuts nvcc work by ~7x. - Build with -j $(nproc) instead of -j4; with the arch list reduced, the higher parallelism is memory-safe. Expected: Configure & Build ~33 min -> ~10 min on a cache-cold run.
The single-job CUDA workflow ran the build and all GPU test suites serially. After deepmodeling#7690 added 73 01_PW cases executed with -n 1, the GPU test portion grew to ~9 min serial on top of the build. - Split into a build job (publishes the installed binary as an artifact) and a matrix of 6 gpu-test jobs that download the binary and run their suites in parallel. - 01_PW runs with -n 2 like the other suites, and pull requests now run a new 23-case smoke subset (CASES_GPU_SMOKE.txt, covering solvers, spin variants, smearing/mixing, relax, symmetry, vdW, MD, DFT+half and output options). The full CASES_GPU.txt list runs nightly via the new schedule trigger and on workflow_dispatch. - Add ccache sizing/statistics steps for observability. Expected: end-to-end CUDA CI wall time roughly halves; the 01_PW step drops from ~4.8 min serial to ~2 min within its own parallel job.
Collaborator
|
The workflow-level concurrency expression references matrix.suite, but the matrix context is not available at workflow scope, so this head produced no CUDA Test run. After fixing that, please reconsider the matrix design: one GPU container initialization took 8m39s, while all serial GPU tests took about 9 minutes, so six containers may increase queueing and GPU usage. Reducing the PR 01_PW coverage from 73 cases to 23 also needs an explicit coverage policy. |
MrLi000001
marked this pull request as draft
August 3, 2026 03:09
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.
Split the CUDA Test workflow into a build job (builds once and uploads the binary as an artifact) plus a matrix of GPU test jobs, so the six test suites run in parallel on PRs instead of serially.
pull_requestruns the 01_PW smoke subset (new CASES_GPU_SMOKE.txt, 23 representative cases covering solvers, nspin=1/2/4, relax, symmetry, vdW, MD, DFT+half, output options);schedule(nightly) andworkflow_dispatchrun the full CASES_GPU.txt.concurrency.groupreferencedmatrix.suite, which is unavailable at workflow scope and made the workflow fail to run. The group is nowworkflow+refonly.-n 1(add 01_PW to GPU CI test suite #7690 intentionally used single-process on the single-GPU CI pods); the win comes from the smoke subset, not from MPI process count.Verification
Reminder
AGENTS.mdanddocs/developers_guide/agent_governance.md.source/changes.Linked Issue
Fix #
Unit Tests and/or Case Tests for my changes
What's changed?
Governance Notes