版本:下一个
HAMi vNPU 核心集成
HAMi-vnpu-core 是一个使用 Rust 编写的 Huawei Ascend NPU 容器内资源控制器。它通过 libvnpu.so(拦截器)和 Limiter(管理器)实现用户态拦截。该设计使用两个环境变量来声明资源配额:NPU_MEM_QUOTA 用于内存限制,NPU_PRIORITY 用于调度优先级。本设计将该能力集成到 HAMi 调度中,以支持 Huawei Ascend NPU 的内存虚拟化和算力时间片软切分。
前提条件
需要 Huawei Ascend 驱动版本 25.5 或更高版本。芯片必须启用 device-share 模式:
npu-smi set -t device-share -i <id> -d <value>
| 参数 | 说明 |
|---|---|
id | 设备 ID,通过 npu-smi info -l 获取 |
value | 容器共享模式:0 = 禁用(默认),1 = 启用 |
HAMi 调度器变更
扩展资源名称
复用现有的 huawei.com/Ascend910B3-memory 资源用于内存分配。新增 huawei.com/Ascend910B3-core 资源;声明该资源的 Pod 使用 vnpu 软切分,而非原有的硬切分逻辑。
| 资源名称 | 单位 | 含义 | 示例 |
|---|---|---|---|
huawei.com/Ascend910B3 | integer | NPU 卡数量 | 1 |
huawei.com/Ascend910B3-memory | MiB | 内存配额 | 28672 (28 GiB) |
huawei.com/Ascend910B3-core | integer | 百分比 | 20, 40 |