Platform
All / Unknown
Runtime Variant
All / Unknown
Summary
Several CI jobs are close to or above 10 minutes. The goal is to reduce the
wall time of each existing job without splitting jobs or changing the current
pre-commit gate.
The initial focus is:
st-sim-a2a3
st-sim-a5
st-onboard-a2a3
st-onboard-a5
The solution must support both GitHub-hosted and self-hosted execution. The
self-hosted sim runner also starts from a fresh server for each run, while
Onboard runners have different performance tiers.
Git Commit ID
04791a7
CANN Version
N/A — CI-level optimization across simulation and hardware jobs.
Driver Version
N/A — CI-level optimization across simulation and hardware jobs.
Host Platform
Other (please specify): GitHub-hosted Ubuntu/macOS and self-hosted Linux
runners.
Reproduction
Run the pull request CI on the same commit and record each job's wall time and
the following step groups:
# Group Actions step durations into:
# setup / install / runtime or kernel build / cache / test / DFX
Compare p50 and p90 separately by job, OS, execution path, and anonymous
runner performance tier. Do not combine GitHub-hosted, self-hosted, macOS,
Linux, or different self-hosted tiers into one average.
Expected Performance
- Reduce the p50 and p90 wall time of the target jobs without splitting them.
- Keep the existing
pre-commit dependency and test semantics.
- Avoid regressions on slower self-hosted runner tiers.
- Keep representative per-PR coverage and run lower-frequency coverage in
Daily CI.
Actual Performance
Recent successful PR CI runs show the following p50 values:
| Job / runner |
Job |
Install |
Scene |
DFX |
| a2a3sim / Ubuntu |
10.9m |
2.3m |
6.9m |
1.2m |
| a2a3sim / macOS |
11.2m |
1.8m |
7.0m |
1.4m |
| a5sim / Ubuntu |
10.5m |
2.3m |
6.5m |
59s |
| a5sim / macOS |
10.9m |
2.6m |
6.5m |
1.0m |
Onboard results vary significantly by runner tier: the observed p50 ranges
from 7.4m to 22.7m for a2a3 and from 3.4m to 8.6m for a5.
Profiling Data (Optional)
Scene execution is about 60% of sim ST wall time, while package installation
usually costs another 1.8-2.6 minutes. Package installation currently invokes
the CMake ALL target and can build runtimes that the job does not use.
Additional Context
Planned work:
- Add coarse step timing for setup, installation, build, cache, test, and DFX.
- Build only the runtime platform required by each CI job and remove repeated
installation or runtime build work.
- Evaluate remote cache by its total restore/save cost and control job-local
parallelism by runner tier.
- Re-measure p50 and p90 before changing the per-PR test set.
- If jobs remain slow, retain representative PR smoke coverage and move
lower-frequency or redundant cases to Daily CI.
Initial test migration candidates:
- Move redundant Collective P4 variants on a2a3sim, a5sim, and a2a3 Onboard
to Daily CI. Keep all P2 cases, one representative Allreduce Ring P4, and
the invalid-rank check in PR CI.
- Move the large a5 Onboard
Case1 variants for basic Paged Attention, Batch
Paged Attention, and Unroll Manual Scope when an equivalent small case is
already in PR CI.
- Move Benchmark BGEMM, SPMD Paged Attention, 4D Unroll, and similar large
cases only after adding or promoting an equivalent small PR smoke case.
- Keep Pod, UT, DFX, SDMA, fault recovery, timeout, cross-device dependency,
and state-machine tests in PR CI because they provide independent or unique
coverage.
Acceptance criteria:
- No job splitting and no change to the
pre-commit gate.
- Before/after p50 and p90 are reported for every affected runner path and
tier.
- Cache changes include hit rate, transfer time, and storage size.
- Every case removed from PR CI records the saved time, retained smoke
coverage, and its Daily CI destination.
Platform
All / Unknown
Runtime Variant
All / Unknown
Summary
Several CI jobs are close to or above 10 minutes. The goal is to reduce the
wall time of each existing job without splitting jobs or changing the current
pre-commitgate.The initial focus is:
st-sim-a2a3st-sim-a5st-onboard-a2a3st-onboard-a5The solution must support both GitHub-hosted and self-hosted execution. The
self-hosted sim runner also starts from a fresh server for each run, while
Onboard runners have different performance tiers.
Git Commit ID
04791a7
CANN Version
N/A — CI-level optimization across simulation and hardware jobs.
Driver Version
N/A — CI-level optimization across simulation and hardware jobs.
Host Platform
Other (please specify): GitHub-hosted Ubuntu/macOS and self-hosted Linux
runners.
Reproduction
Run the pull request CI on the same commit and record each job's wall time and
the following step groups:
Compare p50 and p90 separately by job, OS, execution path, and anonymous
runner performance tier. Do not combine GitHub-hosted, self-hosted, macOS,
Linux, or different self-hosted tiers into one average.
Expected Performance
pre-commitdependency and test semantics.Daily CI.
Actual Performance
Recent successful PR CI runs show the following p50 values:
Onboard results vary significantly by runner tier: the observed p50 ranges
from 7.4m to 22.7m for a2a3 and from 3.4m to 8.6m for a5.
Profiling Data (Optional)
Scene execution is about 60% of sim ST wall time, while package installation
usually costs another 1.8-2.6 minutes. Package installation currently invokes
the CMake
ALLtarget and can build runtimes that the job does not use.Additional Context
Planned work:
installation or runtime build work.
parallelism by runner tier.
lower-frequency or redundant cases to Daily CI.
Initial test migration candidates:
to Daily CI. Keep all P2 cases, one representative Allreduce Ring P4, and
the invalid-rank check in PR CI.
Case1variants for basic Paged Attention, BatchPaged Attention, and Unroll Manual Scope when an equivalent small case is
already in PR CI.
cases only after adding or promoting an equivalent small PR smoke case.
and state-machine tests in PR CI because they provide independent or unique
coverage.
Acceptance criteria:
pre-commitgate.tier.
coverage, and its Daily CI destination.