You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs_roll/docs/User Guides/Hardware Support/ascend_docker_usage.md
+76-14Lines changed: 76 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,15 @@
2
2
3
3
Last updated: 04/27/2026.
4
4
5
-
This guide explains how to build and run ROLL on **Huawei Ascend NPU** using `Dockerfile.A2`and`Dockerfile.A3`.
5
+
This guide explains how to get, build, and run ROLL images on **Huawei Ascend NPU**. Prefer the pre-built image when possible; use `Dockerfile.A2`or`Dockerfile.A3` when you need to customize dependencies.
| Ascend NPU Driver | Installed on host | Installed on host |
@@ -21,21 +21,42 @@ Both Dockerfiles install the same versions of core dependencies:
21
21
22
22
| Component | Version |
23
23
| --------- | ------- |
24
-
| PyTorch | 2.8.0+cpu |
25
-
| vLLM | 0.13.0 |
26
-
| vLLM-Ascend | 0.13.0 |
27
-
| DeepSpeed | 0.16.4 |
24
+
| PyTorch | 2.9.0+cpu |
25
+
| vLLM | 0.18.0 |
26
+
| vLLM-Ascend | 0.18 |
28
27
| Transformers | 4.57.6 |
29
-
| triton-ascend | 3.2.0|
28
+
| triton-ascend | 3.2.1|
30
29
31
30
The primary difference is the base image and SOC version:
32
31
33
32
| Item | Dockerfile.A2 | Dockerfile.A3 |
34
33
| ---- | ------------- | ------------- |
35
-
| Base Image |`quay.io/ascend/cann:8.5.1-910b-ubuntu22.04-py3.11`|`quay.io/ascend/cann:8.5.1-a3-ubuntu22.04-py3.11`|
34
+
| Base Image |`quay.io/ascend/cann:9.0.0-910b-ubuntu22.04-py3.11`|`quay.io/ascend/cann:9.0.0-a3-ubuntu22.04-py3.11`|
36
35
| SOC_VERSION |`ascend910b1`|`ascend910_9391`|
37
36
38
-
## Build the Docker Image
37
+
## Get the Docker Image
38
+
39
+
### Option A: Use the Pre-built Image (Recommended)
40
+
41
+
Pull the image that matches your hardware, then tag it with the local name used by the commands below:
42
+
43
+
**For Atlas 900 A2 PODc (Ascend 910B1):**
44
+
45
+
```bash
46
+
docker pull quay.io/ascend/roll:main-a2
47
+
docker tag quay.io/ascend/roll:main-a2 roll:ascend-a2
48
+
```
49
+
50
+
**For Atlas 900 A3 PODc (Ascend 910_9391):**
51
+
52
+
```bash
53
+
docker pull quay.io/ascend/roll:main-a3
54
+
docker tag quay.io/ascend/roll:main-a3 roll:ascend-a3
55
+
```
56
+
57
+
Check https://quay.io/repository/ascend/roll?tab=tags for available image tags. If you use a pre-built image, continue with [Run the Container](#run-the-container).
For multi-NPU training, mount all available NPU devices. Adjust the number of `--device /dev/davinciX` entries according to the NPU count on your node:
Since Megatron-LM training is not yet supported on Ascend NPU, you need to use **DeepSpeed** as the training backend. Make sure your configuration files use the following settings:
225
+
Since Megatron-LM is not supported on Ascend NPU, you need to use **FSDP2** as the training backend. Make sure your configuration files use the following settings:
165
226
166
-
1. Set `strategy_args` to use DeepSpeed
167
-
2. Set `device_mapping` to ensure training and inference are performed on different NPUs
227
+
1. Set `strategy_args` to use FSDP2
168
228
169
229
### Example: RLVR Pipeline
170
230
171
231
```bash
172
232
# After modifying model paths and adjusting device_mapping
173
233
python examples/start_rlvr_pipeline.py \
174
234
--config_path ascend_examples \
175
-
--config_name qwen3_8b_rlvr_deepspeed
235
+
--config_name qwen3_30b_rlvr_fsdp2
176
236
```
177
237
238
+
> **Note:** The `qwen3_30b_rlvr_fsdp2` configuration is specifically designed for Ascend NPU with FSDP2 as the training backend. Adjust `device_mapping` in the configuration file according to your NPU topology.
|`VLLM_ASCEND_ENABLE_PREFETCH_MLP`|`1`| Enable MLP layer weight prefetching. This replaces the older dense optimize toggle in current vLLM-Ascend releases. |
156
158
|`VLLM_ASCEND_ENABLE_TOPK_OPTIMIZE`|`1`| Enable TopK operator fusion optimization for generation decoding |
0 commit comments