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

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, it downloads the separately released ascend-oci-adapter v0.1.0-rc.2, verifies its pinned SHA-256, and installs the binary and redistribution licenses. Version, URL, and checksum remain jointly overridable for a future release. sandboxd's mount profile remains the trusted allowlist.

This branch is rebased on current AKernel main and pins sandboxd commit 2eb7f0d21eb446b06ead6b898f56bbbec94b66c9. The final PR history is one signed commit.

Validation at AKernel head 8d6cf55b03499620327d75145fd3b4f37ac5e940:

  • 44 targeted Python SDK unit tests passed in a cn-north-4 CCE Python 3.12 Linux amd64 Pod
  • deployment shell/template syntax checks passed
  • the node Dockerfile parsed successfully with both the upstream virtiofsd stage and the Ascend adapter stages retained
  • the published adapter archive downloaded successfully, matched SHA-256 abe3b926750c2467dc5544645bae530ec4bac8572615b0678892a4408d26954c, contained the required binary and licenses, and reported schema 1 with provider version v0.1.0-rc.2+mindcluster-v26.2.0.beta.1
  • the pinned sandboxd head passed go test ./... in cn-north-4 CCE with Go 1.25.5 on Linux amd64
  • two consecutive cn-north-4 CCE mock E2E runs previously passed through SDK, frontend, FunctionSystem scheduling, sandboxd, the external adapter protocol, OCI assembly, runc, command execution, deletion, and device reallocation; the released adapter binary is byte-identical to the binary used in those runs
  • physical Ascend 310P3 validation used the same released adapter binary and covered resource discovery/reporting, FunctionSystem scheduling, OCI device/cgroup/mount injection, runc startup, sandbox npu-smi, ACL runtime initialization and memory transfers, exclusive allocation, release, device reuse, and a sandboxed CANN Add result of [11, 22, 33, 44]

Depends on inclusionAI/sandboxd#39. Adapter source review and release: 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 3 times, most recently from 9b5415f to 0df9995 Compare September 9, 2026 09:31
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