ascend-docker
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAscend Docker Container
Ascend Docker容器
Create Docker containers configured for Huawei Ascend NPU development.
创建适用于华为Ascend NPU开发的Docker容器。
Quick Start
快速开始
bash
undefinedbash
undefinedPrivileged mode (default, auto-detect all devices)
特权模式(默认,自动检测所有设备)
./scripts/run-ascend-container.sh <image> <container_name>
./scripts/run-ascend-container.sh <image> <container_name>
Basic mode with specific devices
基础模式(指定设备)
./scripts/run-ascend-container.sh <image> <container_name> --mode basic
./scripts/run-ascend-container.sh <image> <container_name> --mode basic
Full mode with selected devices
完整模式(选择特定设备)
./scripts/run-ascend-container.sh <image> <container_name> --mode full --device-list "0,1,2,3"
undefined./scripts/run-ascend-container.sh <image> <container_name> --mode full --device-list "0,1,2,3"
undefinedDevice Selection
设备选择
The script auto-detects available NPU devices from . Use to select specific devices:
/dev/davinci*--device-listbash
undefined脚本会自动从路径检测可用的NPU设备。使用参数选择特定设备:
/dev/davinci*--device-listbash
undefinedUse all detected devices (default)
使用所有检测到的设备(默认)
./scripts/run-ascend-container.sh <image> <container_name>
./scripts/run-ascend-container.sh <image> <container_name>
Use specific devices
使用特定设备
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0,1,2,3"
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0,1,2,3"
Use device range
使用设备范围
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0-3"
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0-3"
Combine ranges and individual devices
混合使用设备范围和单个设备
./scripts/run-ascend-container.sh <image> <container_name> --device-list "0-3,7,10-11"
**Check available devices:**
```bash
ls /dev/davinci* | grep -oE 'davinci[0-9]+$'./scripts/run-ascend-container.sh <image> <container_name> --device-list "0-3,7,10-11"
**查看可用设备:**
```bash
ls /dev/davinci* | grep -oE 'davinci[0-9]+$'Container Modes
容器模式
1. Privileged Mode (Default)
1. 特权模式(默认)
Maximum permissions, suitable when no specific requirements.
bash
docker run -itd --privileged --name=<CONTAINER_NAME> --ipc=host --net=host \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /home:/home \
-w /home \
<IMAGE> \
/bin/bash拥有最高权限,适用于无特殊要求的场景。
bash
docker run -itd --privileged --name=<CONTAINER_NAME> --ipc=host --net=host \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /home:/home \
-w /home \
<IMAGE> \
/bin/bash2. Basic Mode
2. 基础模式
Specific device mapping with network host, for inference workloads.
bash
docker run -itd --net=host \
--name=<CONTAINER_NAME> \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device=/dev/devmm_svm \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
... \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /etc/localtime:/etc/localtime \
-v /home:/home \
<IMAGE> \
/bin/bash映射特定设备并使用host网络,适用于推理工作负载。
bash
docker run -itd --net=host \
--name=<CONTAINER_NAME> \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device=/dev/devmm_svm \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
... \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /usr/local/sbin:/usr/local/sbin:ro \
-v /etc/localtime:/etc/localtime \
-v /home:/home \
<IMAGE> \
/bin/bash3. Full Mode
3. 完整模式
With profiling, logging, dump, and add-ons support.
bash
docker run -itd --ipc=host \
--name=<CONTAINER_NAME> \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
... \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/log/npu/:/usr/slog \
-v /etc/localtime:/etc/localtime \
-v /home:/home \
<IMAGE> \
/bin/bash支持性能分析、日志、数据转储及附加组件。
bash
docker run -itd --ipc=host \
--name=<CONTAINER_NAME> \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
... \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/log/npu/:/usr/slog \
-v /etc/localtime:/etc/localtime \
-v /home:/home \
<IMAGE> \
/bin/bashMode Comparison
模式对比
| Feature | Privileged | Basic | Full |
|---|---|---|---|
| Network mode | host | host | - |
| IPC mode | host | - | host |
| Device access | All (via privileged) | Selected devices | Selected devices |
| Profiling support | ✓ | ✗ | ✓ |
| Dump support | ✓ | ✗ | ✓ |
| Logging (slog) | ✓ | ✗ | ✓ |
| Security | Lowest | Higher | Higher |
| 特性 | 特权模式 | 基础模式 | 完整模式 |
|---|---|---|---|
| 网络模式 | host | host | - |
| IPC模式 | host | - | host |
| 设备访问 | 全部(通过特权) | 选定设备 | 选定设备 |
| 性能分析支持 | ✓ | ✗ | ✓ |
| 数据转储支持 | ✓ | ✗ | ✓ |
| 日志(slog)支持 | ✓ | ✗ | ✓ |
| 安全性 | 最低 | 较高 | 较高 |
Device Parameters
设备参数
| Device | Purpose |
|---|---|
| NPU device manager |
| Device memory management |
| HDC communication device |
| Individual NPU devices (0, 1, 2, ...) |
| 设备 | 用途 |
|---|---|
| NPU设备管理器 |
| 设备内存管理 |
| HDC通信设备 |
| 单个NPU设备(0, 1, 2, ...) |
Volume Parameters
卷参数
| Volume | Purpose |
|---|---|
| Ascend driver libraries |
| NPU management tools (npu-smi) |
| Additional Ascend components |
| System logs |
| Profiling data |
| Dump data |
| Timezone sync |
| User workspace |
| 卷 | 用途 |
|---|---|
| Ascend驱动库 |
| NPU管理工具(npu-smi) |
| Ascend附加组件 |
| 系统日志 |
| 性能分析数据 |
| 转储数据 |
| 时区同步 |
| 用户工作空间 |
Common Images
常用镜像
bash
ascendhub.huawei.com/public-ascendhub/ascend-pytorch:24.0.RC1
ascendhub.huawei.com/public-ascendhub/ascend-mindspore:24.0.RC1
ascendhub.huawei.com/public-ascendhub/ascend-toolkit:24.0.RC1bash
ascendhub.huawei.com/public-ascendhub/ascend-pytorch:24.0.RC1
ascendhub.huawei.com/public-ascendhub/ascend-mindspore:24.0.RC1
ascendhub.huawei.com/public-ascendhub/ascend-toolkit:24.0.RC1Container Management
容器管理
bash
docker exec -it <container_name> bash
docker stop <container_name>
docker start <container_name>
docker rm -f <container_name>bash
docker exec -it <container_name> bash
docker stop <container_name>
docker start <container_name>
docker rm -f <container_name>Post-Setup
配置后操作
For self-built images, configure environment variables:
bash
echo 'source /usr/local/Ascend/ascend-toolkit/set_env.sh' >> ~/.bashrc
source ~/.bashrc对于自定义构建的镜像,需配置环境变量:
bash
echo 'source /usr/local/Ascend/ascend-toolkit/set_env.sh' >> ~/.bashrc
source ~/.bashrc