Skip to content

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

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#39
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

Add provider-owned NVIDIA and Ascend discovery, runtime selection, exclusive leases, and validated OCI edits for native runc sandboxes. NVIDIA runsc support remains available, and driver library directories are prepended without discarding application library paths.

Ascend integration now uses the schema v1 external process protocol from openYuanrong-mirror/ascend-oci-adapter#1. sandboxd keeps the trusted mount profile and validates every returned device, cgroup rule, mount, and environment entry, while the MindCluster submodule, adapter source, and adapter build target are removed from this repository.

The final PR history is one signed commit. Duplicate Ascend happy-path and library-path tests were consolidated into one 310P3 provider lifecycle test while security, runtime, lease, and device-stat coverage remains.

Validation:

  • go test ./... in a cn-north-4 CCE Linux Pod at the final rebased head
  • 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 current heads covering discovery, scheduling, validated OCI device/cgroup/mount injection, 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; sandboxed Add is a separate environment follow-up

Reliability boundary: a live runc workload does not survive a sandboxd restart in the current baseline. The lease is cleared and the device remains reallocatable; this PR does not claim workload-preserving restart recovery.

Depends on openYuanrong-mirror/ascend-oci-adapter#1 for the separately reviewed release source. Paired packaging change: inclusionAI/AKernel#45.

@mhsong1998-dot mhsong1998-dot changed the title feat: add ascend npu provider for runc feat: support ascend and nvidia accelerators with runc Sep 2, 2026
@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 c7e4ae3 to 27fbf94 Compare September 7, 2026 02:19
Comment thread config/config.go
Comment thread internal/server/server.go Outdated
Comment thread pkg/runtime/handler.go Outdated
Comment thread pkg/runtime/oci_loader.go Outdated
Comment thread third_party/mind-cluster Outdated
Add provider-owned GPU and Ascend discovery, runtime selection, exclusive leases, and validated OCI edits for native runc sandboxes. Keep NVIDIA runsc support and preserve application library paths when injecting driver directories.

Consume Ascend integration through the standalone adapter protocol so sandboxd no longer contains the MindCluster source dependency or adapter build target.

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.

2 participants