Skip to content

feat: support ascend and nvidia accelerators with runc - #45

Open
mhsong1998-dot wants to merge 1 commit into
inclusionAI:mainfrom
mhsong1998-dot:feat/ascend-npu-runc
Open

feat: support ascend and nvidia accelerators with runc#45
mhsong1998-dot wants to merge 1 commit into
inclusionAI:mainfrom
mhsong1998-dot:feat/ascend-npu-runc

Conversation

@mhsong1998-dot

@mhsong1998-dot mhsong1998-dot commented Aug 29, 2026

Copy link
Copy Markdown

Package optional native runc and accelerator support across the node image, Helm, Terraform, standalone deployment, and Python SDK. NVIDIA GPUs can use runsc or runc; physical Ascend NPUs use runc.

The node image no longer builds the Ascend adapter from sandboxd or reads MindCluster source. When Ascend is enabled, the build requires an explicit adapter version, amd64 release URL, and SHA-256, verifies the downloaded bundle, installs its binary and licenses, and keeps sandboxd's mount profile as the trusted allowlist.

The final PR history is one signed commit. NPU SDK tests were reduced to one representative model/resource assertion plus the existing invalid-type boundary.

Validation:

  • 44 targeted Python SDK unit tests in a cn-north-4 CCE Pod
  • node Dockerfile parse check
  • adapter bundle checksum, layout, permissions, license, mount-profile, and version install smoke in cn-north-4 CCE
  • two consecutive cn-north-4 CCE mock E2E runs through SDK, frontend, FunctionSystem scheduling, sandboxd, the external adapter protocol, OCI assembly, runc, command execution, deletion, and device reallocation
  • physical Ascend 310P3 validation with the exact PR heads covering resource discovery/reporting, FunctionSystem scheduling, validated OCI device/cgroup/mount injection, runc startup, sandbox npu-smi, ACL runtime initialization and memory transfers, exclusive allocation, release, and device reuse
  • a host CANN Add probe returned [11, 22, 33, 44] with the preinstalled CANN 6.0 native Python 3.7.5 toolchain; the sandboxed Add follow-up is tracked separately from the adapter/device-injection acceptance

Depends on inclusionAI/sandboxd#39 and openYuanrong-mirror/ascend-oci-adapter#1.

@mhsong1998-dot
mhsong1998-dot force-pushed the feat/ascend-npu-runc branch 3 times, most recently from 5d324b9 to 49108b7 Compare September 2, 2026 02:37
@mhsong1998-dot mhsong1998-dot changed the title feat: add ascend npu support for runc sandboxes feat: support ascend and nvidia accelerators with runc Sep 2, 2026
@mhsong1998-dot
mhsong1998-dot force-pushed the feat/ascend-npu-runc branch 2 times, most recently from 73742d2 to fe7ea77 Compare September 3, 2026 02:24
@mhsong1998-dot
mhsong1998-dot marked this pull request as ready for review September 4, 2026 03:53
@mhsong1998-dot
mhsong1998-dot force-pushed the feat/ascend-npu-runc branch 2 times, most recently from 8b4c559 to f6604a1 Compare September 9, 2026 02:37
Package optional native runc and accelerator support across node images, Helm, Terraform, standalone deployment, and the Python SDK. Support NVIDIA GPUs with runsc or runc and physical Ascend NPUs with runc.

Install Ascend integration from a checksum-pinned standalone adapter release while keeping the trusted mount profile in sandboxd. Update sandboxd to the matching external-adapter protocol implementation.

Signed-off-by: mhsong2 <songminhui2@huawei.com>
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.

1 participant