Skip to content

ci: use Ascend 910C post4 CI image - #988

Merged
voltjia merged 2 commits into
masterfrom
ci/ascend-910c-post4-canary
Sep 16, 2026
Merged

voltjia merged 2 commits into
masterfrom
ci/ascend-910c-post4-canary

Conversation

@baominghelly

@baominghelly baominghelly commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Reuse the validated Ascend 910C image infiniops-ci/ascend:cann9.1.0-torch2.10.0-npu-post4-20260909 through skip_build and source_image instead of rebuilding the legacy Ascend image.
  • Keep the existing Ascend runner label, -j$(nproc) build parallelism, and current InfiniOps SoC auto-detection behavior.
  • Update both the reusable workflow ref and ci_ref to 901566229509ac54f520210c6856bf163209f907, which includes Ascend dual-chip physical-ID parsing on top of the existing CI execution line.

Motivation

The current Ascend CI image does not provide the validated torch_npu 2.10.0.post4 environment required by the current Ascend PyTorch backend. Reusing the prepared post4 image makes the build environment deterministic and avoids rebuilding a large image on every CI run.

The two CI references are updated together so the reusable workflow and the checked-out .ci tooling come from the same revision.

Type of Change

  • feat — new feature / new operator / new platform
  • fix — bug fix
  • perf — performance improvement (no behavioral change)
  • refactor — code restructuring without behavior change
  • test — adding or fixing tests only
  • docs — documentation only
  • build / ci — build system or CI configuration
  • chore — tooling, formatting, or other non-code changes
  • Breaking change (requires a ! in the Conventional Commits prefix or a BREAKING CHANGE: footer)

Platforms Affected

  • CPU (WITH_CPU)
  • NVIDIA (WITH_NVIDIA)
  • Iluvatar (WITH_ILUVATAR)
  • MetaX (WITH_METAX)
  • Cambricon (WITH_CAMBRICON)
  • Moore (WITH_MOORE)
  • Ascend (WITH_ASCEND)
  • PyTorch C++ bindings (WITH_TORCH)
  • Build system / CMake / CI
  • Python bindings / user-facing API

The platform checkboxes acknowledge that changing the reusable workflow revision can affect orchestration for every configured platform. The image-selection change itself is Ascend-specific.

Smoke Test Result

Validated the final configuration locally and in GitHub Actions on Ascend 910C:

PYTHONDONTWRITEBYTECODE=1 python3 .ci/run.py \
  --config .github/ci_config.yml \
  --job npu \
  --local \
  --image-tag df-4196b1fe7209 \
  --results-dir "$ROOT/local-results"

Trimmed result:

InfiniRT build: passed
InfiniOps wheel build: passed
136 passed, 43 skipped, 28 warnings in 16.76s

The GitHub Actions Ascend job on runner Ascend-910C-Server-000 also completed successfully with the same result. Generated Docker arguments were checked for:

ASCEND_VISIBLE_DEVICES=0
--device=/dev/davinci1:/dev/davinci0
--memory 32g
--shm-size 16g

Test Results on Supported Platforms

Platform Affected Build / Smoke Result Full Result / Notes
NVIDIA Potential In progress in GitHub Actions Global reusable workflow ref changes; platform-specific config is unchanged
Iluvatar Potential In progress in GitHub Actions Global reusable workflow ref changes; platform-specific config is unchanged
MetaX Potential Failed during InfiniOps wheel build Under investigation; platform-specific config is unchanged
Cambricon Potential In progress in GitHub Actions Global reusable workflow ref changes; platform-specific config is unchanged
Moore Potential Queued in GitHub Actions Global reusable workflow ref changes; platform-specific config is unchanged
Ascend Yes smoke passed locally and in GitHub Actions 136 passed, 43 skipped; JUnit reported zero failures and errors

Additional required checks at the current head:

Ruff: success
Clang Format: success
Full `pytest` output (optional)
Not run - full suite deferred; this Draft PR changes CI orchestration and image selection, not operator implementations.

Benchmark / Performance Impact

N/A

Notes for Reviewers

  • The post4 image is currently local to the prepared 910C runner machines. Before enabling this on every Ascend runner, that runner must either have the image loaded or the image must be published to an internal registry.
  • runner_label intentionally remains Ascend; temporary runner availability may need to be managed during rollout so jobs do not land on runners without the post4 image.
  • -j$(nproc) and SoC auto-detection are intentionally unchanged.
  • 901566229509ac54f520210c6856bf163209f907 is the current stacked CI revision used for validation. Once the underlying CI branch reaches InfiniTensor/ci master, these references can be updated to the final master SHA in a follow-up CI-only change.
  • YAML parsing and git diff --check passed for the final configuration.

@baominghelly
baominghelly marked this pull request as ready for review September 16, 2026 08:46
@baominghelly
baominghelly requested review from a team and voltjia September 16, 2026 08:46
@voltjia
voltjia merged commit cb89075 into master Sep 16, 2026
14 of 24 checks passed
@voltjia
voltjia deleted the ci/ascend-910c-post4-canary branch September 16, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants