Skip to content

Commit 012a65a

Browse files
committed
feat(ascend): update Docker images and documentation
1 parent 370cb24 commit 012a65a

6 files changed

Lines changed: 68 additions & 58 deletions

File tree

docker/Dockerfile.A2

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM quay.io/ascend/cann:9.0.0-910b-ubuntu22.04-py3.11
1+
FROM quay.io/ascend/cann:9.1.0-910b-ubuntu22.04-py3.12-devel
22

33
ARG SOC_VERSION="ascend910b1"
44

@@ -27,29 +27,33 @@ RUN pip config set global.index-url https://mirrors.huaweicloud.com/repository/p
2727

2828
WORKDIR /workspace
2929

30-
RUN git clone --depth 1 -b v0.18.0 https://github.com/vllm-project/vllm.git && \
31-
git clone --depth 1 -b v0.18.0 https://github.com/vllm-project/vllm-ascend.git
30+
RUN git clone --depth 1 -b v0.23.0 https://github.com/vllm-project/vllm.git && \
31+
git clone --depth 1 -b v0.23.0rc1 https://github.com/vllm-project/vllm-ascend.git
3232

3333
RUN cd vllm && \
34-
pip install -r requirements/build.txt && \
3534
VLLM_TARGET_DEVICE=empty pip install -v -e . && \
3635
pip uninstall -y triton && \
3736
pip cache purge && \
3837
cd ..
3938

40-
RUN pip install torch==2.9.0+cpu torchvision==0.24.0 torchaudio==2.9.0 \
41-
--index-url https://download.pytorch.org/whl/cpu
39+
RUN pip install torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0
4240

4341
RUN source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
4442
source /usr/local/Ascend/nnal/atb/set_env.sh && \
4543
cd vllm-ascend && \
46-
pip install -r requirements.txt && \
47-
SOC_VERSION=${SOC_VERSION} pip install -v -e . --extra-index-url https://download.pytorch.org/whl/cpu
44+
git submodule update --init --recursive && \
45+
pip install -r requirements.txt --extra-index-url https://mirrors.huaweicloud.com/ascend/repos/pypi && \
46+
SOC_VERSION=${SOC_VERSION} pip install -v -e . --extra-index-url https://mirrors.huaweicloud.com/ascend/repos/pypi
47+
48+
RUN python3 -m pip install --index-url https://mirrors.huaweicloud.com/repository/pypi/simple \
49+
--no-deps torch-npu==2.10.0.post4
4850

4951
WORKDIR /workspace/ROLL
5052
COPY . .
5153

52-
RUN pip install -r requirements_common.txt
54+
RUN grep -v '^gem-llm' requirements_common.txt > requirements_npu.txt && \
55+
pip install -r requirements_npu.txt && \
56+
rm -f requirements_npu.txt
5357

5458
RUN pip install "transformers==4.57.6" "tensorboard==2.20.0"
5559

docker/Dockerfile.A3

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM quay.io/ascend/cann:9.0.0-a3-ubuntu22.04-py3.11
1+
FROM quay.io/ascend/cann:9.1.0-a3-ubuntu22.04-py3.12-devel
22

33
ARG SOC_VERSION="ascend910_9391"
44

@@ -27,29 +27,33 @@ RUN pip config set global.index-url https://mirrors.huaweicloud.com/repository/p
2727

2828
WORKDIR /workspace
2929

30-
RUN git clone --depth 1 -b v0.18.0 https://github.com/vllm-project/vllm.git && \
31-
git clone --depth 1 -b v0.18.0 https://github.com/vllm-project/vllm-ascend.git
30+
RUN git clone --depth 1 -b v0.23.0 https://github.com/vllm-project/vllm.git && \
31+
git clone --depth 1 -b v0.23.0rc1 https://github.com/vllm-project/vllm-ascend.git
3232

3333
RUN cd vllm && \
34-
pip install -r requirements/build.txt && \
3534
VLLM_TARGET_DEVICE=empty pip install -v -e . && \
3635
pip uninstall -y triton && \
3736
pip cache purge && \
3837
cd ..
3938

40-
RUN pip install torch==2.9.0+cpu torchvision==0.24.0 torchaudio==2.9.0 \
41-
--index-url https://download.pytorch.org/whl/cpu
39+
RUN pip install torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0
4240

4341
RUN source /usr/local/Ascend/ascend-toolkit/set_env.sh && \
4442
source /usr/local/Ascend/nnal/atb/set_env.sh && \
4543
cd vllm-ascend && \
46-
pip install -r requirements.txt && \
47-
SOC_VERSION=${SOC_VERSION} pip install -v -e . --extra-index-url https://download.pytorch.org/whl/cpu
44+
git submodule update --init --recursive && \
45+
pip install -r requirements.txt --extra-index-url https://mirrors.huaweicloud.com/ascend/repos/pypi && \
46+
SOC_VERSION=${SOC_VERSION} pip install -v -e . --extra-index-url https://mirrors.huaweicloud.com/ascend/repos/pypi
47+
48+
RUN python3 -m pip install --index-url https://mirrors.huaweicloud.com/repository/pypi/simple \
49+
--no-deps torch-npu==2.10.0.post4
4850

4951
WORKDIR /workspace/ROLL
5052
COPY . .
5153

52-
RUN pip install -r requirements_common.txt
54+
RUN grep -v '^gem-llm' requirements_common.txt > requirements_npu.txt && \
55+
pip install -r requirements_npu.txt && \
56+
rm -f requirements_npu.txt
5357

5458
RUN pip install "transformers==4.57.6" "tensorboard==2.20.0"
5559

docs_roll/docs/User Guides/Hardware Support/ascend_docker_usage.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Running ROLL on Ascend NPU with Docker
22

3-
Last updated: 06/23/2026.
3+
Last updated: 08/08/2026.
44

55
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 950 currently follows the manual installation profile in [ROLL x Ascend](ascend_usage.md).
66

@@ -10,8 +10,8 @@ This guide explains how to get, build, and run ROLL images on **Huawei Ascend NP
1010
| ---- | ------------- | ------------- |
1111
| Hardware | Atlas 900 A2 PODc (Ascend 910B1) | Atlas 900 A3 PODc (Ascend 910_9391) |
1212
| Host OS | Ubuntu 22.04 | Ubuntu 22.04 |
13-
| CANN | 9.0.0 | 9.0.0 |
14-
| Python | 3.11 | 3.11 |
13+
| CANN | 9.1.0 | 9.1.0 |
14+
| Python | 3.12 | 3.12 |
1515
| Docker | >= 20.10 | >= 20.10 |
1616
| Ascend NPU Driver | Installed on host | Installed on host |
1717

@@ -23,9 +23,10 @@ Both Dockerfiles install the same versions of core dependencies:
2323

2424
| Component | Version |
2525
| --------- | ------- |
26-
| PyTorch | 2.9.0+cpu |
27-
| vLLM | 0.18.0 |
28-
| vLLM-Ascend | 0.18 |
26+
| PyTorch | 2.10.0 |
27+
| torch-npu | 2.10.0.post4 |
28+
| vLLM | 0.23.0 |
29+
| vLLM-Ascend | 0.23.0rc1 |
2930
| Transformers | 4.57.6 |
3031
| triton-ascend | 3.2.1 |
3132

@@ -42,7 +43,7 @@ The primary difference is the base image and SOC version:
4243

4344
| Item | Dockerfile.A2 | Dockerfile.A3 |
4445
| ---- | ------------- | ------------- |
45-
| 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` |
46+
| Base Image | `quay.io/ascend/cann:9.1.0-910b-ubuntu22.04-py3.12-devel` | `quay.io/ascend/cann:9.1.0-a3-ubuntu22.04-py3.12-devel` |
4647
| SOC_VERSION | `ascend910b1` | `ascend910_9391` |
4748

4849
## Get the Docker Image

docs_roll/docs/User Guides/Hardware Support/ascend_usage.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ROLL x Ascend
22

3-
Last updated: 06/23/2026.
3+
Last updated: 08/08/2026.
44

55
We have added support for Huawei Ascend devices in ROLL.
66

@@ -23,7 +23,7 @@ Supported operating systems:
2323
| Deployment scenario | Supported OS | Notes |
2424
| ------------------- | ------------ | ----- |
2525
| Physical host | Ubuntu 22.04 | Recommended and validated by the current ROLL Ascend guides. |
26-
| ROLL Ascend container | Ubuntu 22.04 | The A2/A3 Dockerfiles are based on `quay.io/ascend/cann:9.0.0-*-ubuntu22.04-py3.11`. |
26+
| ROLL Ascend container | Ubuntu 22.04 | The A2/A3 Dockerfiles are based on `quay.io/ascend/cann:9.1.0-*-ubuntu22.04-py3.12-devel`. |
2727
| Ascend 950 manual installation | Ubuntu 22.04 | Use the Ascend 950-specific torch/vLLM stack below. Keep the driver, firmware, CANN, and `torch_npu` versions aligned with the target Ascend 950 environment. |
2828
| VM/container deployments on other host OS versions | Follow Ascend/CANN compatibility guidance | Check the Ascend compatibility query assistant and the CANN Software Installation OS compatibility notes for the target hardware. |
2929

@@ -33,8 +33,8 @@ Supported operating systems:
3333

3434
| Software | Version |
3535
| -------- |---------|
36-
| Python | 3.11 |
37-
| CANN | 9.0.0 |
36+
| Python | 3.12 |
37+
| CANN | 9.1.0 |
3838

3939
For Ascend 950 , keep Python 3.11 and use the Ascend 950-specific torch/vLLM stack described in [Ascend 950 Installation Profile](#Ascend 950-installation-profile).
4040

@@ -43,7 +43,7 @@ For Ascend 950 , keep Python 3.11 and use the Ascend 950-specific torch/vLLM sta
4343
Use the following commands to create a new conda environment in Miniconda:
4444

4545
```
46-
conda create --name roll python=3.11
46+
conda create --name roll python=3.12
4747
conda activate roll
4848
```
4949

@@ -53,10 +53,10 @@ To use torch and torch_npu in ROLL, install them using the commands below:
5353

5454
```
5555
# Use CPU-only torch when installing outside the pre-built image
56-
pip install torch==2.9.0 torchvision==0.24.0 torchaudio==2.9.0 --index-url https://download.pytorch.org/whl/cpu
56+
pip install torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cpu
5757
5858
# Install the torch_npu version matching torch/CANN
59-
pip install torch_npu==2.9.0
59+
pip install torch_npu==2.10.0.post4
6060
```
6161

6262
### Install vllm & vllm-ascend
@@ -65,28 +65,28 @@ To use vllm in ROLL, compile and install vllm and vllm-ascend as follows:
6565

6666
```
6767
# vllm
68-
git clone -b v0.18.0 --depth 1 https://github.com/vllm-project/vllm.git
68+
git clone -b v0.23.0 --depth 1 https://github.com/vllm-project/vllm.git
6969
cd vllm
70-
pip install -r requirements/build.txt
7170
7271
VLLM_TARGET_DEVICE=empty pip install -v -e .
7372
cd ..
7473
7574
# vllm-ascend
76-
git clone -b v0.18.0 --depth 1 https://github.com/vllm-project/vllm-ascend.git
75+
git clone -b v0.23.0rc1 --depth 1 https://github.com/vllm-project/vllm-ascend.git
7776
cd vllm-ascend
77+
git submodule update --init --recursive
7878
7979
pip install -e .
8080
cd ..
8181
```
8282

8383
Or you could install `vllm` and `vllm-ascend` from pre-built wheel:
8484
```
85-
# Install vllm-project/vllm. The newest supported version is v0.18.0.
86-
pip install vllm==0.18.0
85+
# Install vllm-project/vllm. The newest supported version is v0.23.0.
86+
pip install vllm==0.23.0
8787
8888
# Install vllm-project/vllm-ascend from pypi.
89-
pip install vllm-ascend==0.18
89+
pip install vllm-ascend==0.23.0rc1
9090
```
9191

9292
### Ascend 950 Installation Profile

docs_roll/i18n/zh-Hans/docusaurus-plugin-content-docs/current/User Guides/Hardware Support/ascend_docker_usage.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 使用 Docker 在昇腾 NPU 上运行 ROLL
22

3-
最后更新:2026/06/23
3+
最后更新:2026/08/08
44

55
本指南介绍如何在**华为昇腾 NPU** 上获取、构建并运行 ROLL 镜像。推荐优先使用预构建镜像;如需自定义依赖,再使用 `Dockerfile.A2``Dockerfile.A3` 构建。Atlas 950 当前使用 [ROLL x Ascend](ascend_usage.md) 中的手动安装配置。
66

@@ -10,8 +10,8 @@
1010
| ---- | ------------- | ------------- |
1111
| 硬件 | Atlas 900 A2 PODc(Ascend 910B1) | Atlas 900 A3 PODc(Ascend 910_9391) |
1212
| 宿主机操作系统 | Ubuntu 22.04 | Ubuntu 22.04 |
13-
| CANN | 9.0.0 | 9.0.0 |
14-
| Python | 3.11 | 3.11 |
13+
| CANN | 9.1.0 | 9.1.0 |
14+
| Python | 3.12 | 3.12 |
1515
| Docker | >= 20.10 | >= 20.10 |
1616
| 昇腾 NPU 驱动 | 已安装在宿主机上 | 已安装在宿主机上 |
1717

@@ -23,9 +23,10 @@
2323

2424
| 组件 | 版本 |
2525
| ---- | ---- |
26-
| PyTorch | 2.9.0+cpu |
27-
| vLLM | 0.18.0 |
28-
| vLLM-Ascend | 0.18 |
26+
| PyTorch | 2.10.0 |
27+
| torch-npu | 2.10.0.post4 |
28+
| vLLM | 0.23.0 |
29+
| vLLM-Ascend | 0.23.0rc1 |
2930
| Transformers | 4.57.6 |
3031
| triton-ascend | 3.2.1 |
3132

@@ -42,7 +43,7 @@ Ascend 950 使用更新的手动安装版本组合:
4243

4344
| 项目 | Dockerfile.A2 | Dockerfile.A3 |
4445
| ---- | ------------- | ------------- |
45-
| 基础镜像 | `quay.io/ascend/cann:9.0.0-910b-ubuntu22.04-py3.11` | `quay.io/ascend/cann:9.0.0-a3-ubuntu22.04-py3.11` |
46+
| 基础镜像 | `quay.io/ascend/cann:9.1.0-910b-ubuntu22.04-py3.12-devel` | `quay.io/ascend/cann:9.1.0-a3-ubuntu22.04-py3.12-devel` |
4647
| SOC_VERSION | `ascend910b1` | `ascend910_9391` |
4748

4849
## 获取 Docker 镜像

docs_roll/i18n/zh-Hans/docusaurus-plugin-content-docs/current/User Guides/Hardware Support/ascend_usage.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ROLL x Ascend
22

3-
最后更新:2026/06/23
3+
最后更新:2026/08/08
44

55
我们在 ROLL 上增加对华为昇腾设备的支持。
66

@@ -23,7 +23,7 @@ ROLL 昇腾适配当前覆盖以下训练系列硬件:
2323
| 部署场景 | 支持的操作系统 | 说明 |
2424
| -------- | -------------- | ---- |
2525
| 物理机宿主机 | Ubuntu 22.04 | 当前 ROLL 昇腾文档推荐并验证的宿主机操作系统。 |
26-
| ROLL 昇腾容器 | Ubuntu 22.04 | A2/A3 Dockerfile 基于 `quay.io/ascend/cann:9.0.0-*-ubuntu22.04-py3.11`|
26+
| ROLL 昇腾容器 | Ubuntu 22.04 | A2/A3 Dockerfile 基于 `quay.io/ascend/cann:9.1.0-*-ubuntu22.04-py3.12-devel`|
2727
| Ascend 950 手动安装 | Ubuntu 22.04 | 使用下文 Ascend 950 专用 torch/vLLM 版本组合。驱动、固件、CANN 和 `torch_npu` 版本需要与目标 Ascend 950 环境匹配。 |
2828
| 其他宿主机 OS 上的虚拟机或容器部署 | 以昇腾/CANN 兼容性说明为准 | 请结合目标硬件查询昇腾兼容性查询助手,以及 CANN 软件安装文档中的操作系统兼容性说明。 |
2929

@@ -33,8 +33,8 @@ ROLL 昇腾适配当前覆盖以下训练系列硬件:
3333

3434
| 软件 | 版本 |
3535
|-----------|-------------|
36-
| Python | 3.11 |
37-
| CANN | 9.0.0 |
36+
| Python | 3.12 |
37+
| CANN | 9.1.0 |
3838

3939
Ascend 950 请保持 Python 3.11,并使用下文 [Ascend 950 安装配置](#Ascend 950-安装配置) 中的专用 torch/vLLM 版本组合。
4040

@@ -43,7 +43,7 @@ Ascend 950 请保持 Python 3.11,并使用下文 [Ascend 950 安装配置](#As
4343
使用以下命令在 Miniconda 中创建新的 conda 环境:
4444

4545
```
46-
conda create --name roll python=3.11
46+
conda create --name roll python=3.12
4747
conda activate roll
4848
```
4949

@@ -53,10 +53,10 @@ conda activate roll
5353

5454
```
5555
# 在预构建镜像外手动安装时,使用 CPU 版 torch
56-
pip install torch==2.9.0 torchvision==0.24.0 torchaudio==2.9.0 --index-url https://download.pytorch.org/whl/cpu
56+
pip install torch==2.10.0 torchvision==0.25.0 torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cpu
5757
5858
# 安装与 torch/CANN 匹配的 torch_npu
59-
pip install torch_npu==2.9.0
59+
pip install torch_npu==2.10.0.post4
6060
```
6161

6262
### 安装 vllm & vllm-ascend
@@ -65,16 +65,16 @@ pip install torch_npu==2.9.0
6565

6666
```
6767
# vllm
68-
git clone -b v0.18.0 --depth 1 https://github.com/vllm-project/vllm.git
68+
git clone -b v0.23.0 --depth 1 https://github.com/vllm-project/vllm.git
6969
cd vllm
70-
pip install -r requirements/build.txt
7170
7271
VLLM_TARGET_DEVICE=empty pip install -v -e .
7372
cd ..
7473
7574
# vllm-ascend
76-
git clone -b v0.18.0 --depth 1 https://github.com/vllm-project/vllm-ascend.git
75+
git clone -b v0.23.0rc1 --depth 1 https://github.com/vllm-project/vllm-ascend.git
7776
cd vllm-ascend
77+
git submodule update --init --recursive
7878
7979
pip install -e .
8080
cd ..
@@ -83,11 +83,11 @@ cd ..
8383
或者可以从预编译的 wheel 包安装 `vllm``vllm-ascend`
8484

8585
```
86-
# 安装 vllm-project/vllm,最新支持版本为 v0.18.0
87-
pip install vllm==0.18.0
86+
# 安装 vllm-project/vllm,最新支持版本为 v0.23.0
87+
pip install vllm==0.23.0
8888
8989
# 从 pypi 安装 vllm-project/vllm-ascend
90-
pip install vllm-ascend==0.18
90+
pip install vllm-ascend==0.23.0rc1
9191
```
9292

9393
### Ascend 950 安装配置

0 commit comments

Comments
 (0)