Skip to content

Commit afdbf77

Browse files
authored
[CI] Add new runner and enable QwQ multinpu test (#417)
### What this PR does / why we need it? - Add a new runner to the continuous integration system and keep the original CI runner until the new runner runs stably - Add distributed test cases ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? CI passed --------- Signed-off-by: wangli <wangli858794774@gmail.com>
1 parent 5d62393 commit afdbf77

File tree

5 files changed

+405
-128
lines changed

5 files changed

+405
-128
lines changed
Lines changed: 367 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,367 @@
1+
#
2+
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All Rights Reserved.
3+
# This file is a part of the vllm-ascend project.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
18+
name: 'e2e test'
19+
20+
on:
21+
pull_request:
22+
branches:
23+
- 'main'
24+
- '*-dev'
25+
paths:
26+
- '*.txt'
27+
- '**/*.py'
28+
- '.github/workflows/vllm_ascend_test.yaml'
29+
- '!docs/**'
30+
- 'pytest.ini'
31+
32+
# Bash shells do not use ~/.profile or ~/.bashrc so these shells need to be explicitly
33+
# declared as "shell: bash -el {0}" on steps that need to be properly activated.
34+
# It's used to activate ascend-toolkit environment variables.
35+
defaults:
36+
run:
37+
shell: bash -el {0}
38+
39+
concurrency:
40+
group: pr-${{ github.event.pull_request.number }}
41+
cancel-in-progress: true
42+
43+
jobs:
44+
test-singlenpu:
45+
name: vLLM Ascend test main(single-npu)
46+
runs-on: linux-arm64-npu-1 # actionlint-ignore: runner-label
47+
container:
48+
image: quay.io/ascend/cann:8.0.0-910b-ubuntu22.04-py3.10
49+
steps:
50+
- name: Check npu and CANN info
51+
run: |
52+
npu-smi info
53+
cat /usr/local/Ascend/ascend-toolkit/latest/"$(uname -i)"-linux/ascend_toolkit_install.info
54+
55+
- name: Config mirrors
56+
run: |
57+
sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
58+
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
59+
apt-get update -y
60+
apt install git -y
61+
git config --global url."https://gh-proxy.test.osinfra.cn/https://github.com/".insteadOf https://github.com/
62+
63+
- name: Checkout vllm-project/vllm-ascend repo
64+
uses: actions/checkout@v4
65+
66+
- name: Install system dependencies
67+
run: |
68+
apt-get -y install `cat packages.txt`
69+
apt-get -y install gcc g++ cmake libnuma-dev
70+
71+
- name: Checkout vllm-project/vllm repo
72+
uses: actions/checkout@v4
73+
with:
74+
repository: vllm-project/vllm
75+
path: ./vllm-empty
76+
77+
- name: Install vllm-project/vllm from source
78+
working-directory: ./vllm-empty
79+
run: |
80+
VLLM_TARGET_DEVICE=empty pip install -e .
81+
82+
- name: Install vllm-project/vllm-ascend
83+
run: |
84+
pip install -r requirements-dev.txt
85+
pip install -e .
86+
87+
- name: Install pta
88+
run: |
89+
if [ ! -d /root/.cache/pta ]; then
90+
mkdir -p /root/.cache/pta
91+
fi
92+
93+
if [ ! -f /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ]; then
94+
cd /root/.cache/pta
95+
rm -rf pytorch_v2.5.1_py310*
96+
wget https://pytorch-package.obs.cn-north-4.myhuaweicloud.com/pta/Daily/v2.5.1/20250320.3/pytorch_v2.5.1_py310.tar.gz
97+
tar -zxvf pytorch_v2.5.1_py310.tar.gz
98+
fi
99+
100+
pip install /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
101+
102+
- name: Run vllm-project/vllm-ascend test on V0 engine
103+
env:
104+
VLLM_USE_V1: 0
105+
HF_ENDPOINT: https://hf-mirror.com
106+
run: |
107+
VLLM_USE_V1=0 pytest -sv -m 'not multinpu' tests
108+
109+
- name: Run vllm-project/vllm-ascend test for V1 Engine
110+
env:
111+
VLLM_USE_V1: 1
112+
VLLM_WORKER_MULTIPROC_METHOD: spawn
113+
HF_ENDPOINT: https://hf-mirror.com
114+
run: |
115+
pytest -sv -m 'not multinpu' tests
116+
117+
- name: Run vllm-project/vllm test for V0 Engine
118+
env:
119+
VLLM_USE_V1: 0
120+
PYTORCH_NPU_ALLOC_CONF: max_split_size_mb:256
121+
HF_ENDPOINT: https://hf-mirror.com
122+
run: |
123+
pytest -sv
124+
125+
test-multinpu:
126+
name: vLLM Ascend test main(multi-npu)
127+
runs-on: linux-arm64-npu-4
128+
container:
129+
image: ascendai/cann:8.0.0-910b-ubuntu22.04-py3.10
130+
env:
131+
HF_ENDPOINT: https://hf-mirror.com
132+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
133+
steps:
134+
- name: Check npu and CANN info
135+
run: |
136+
npu-smi info
137+
cat /usr/local/Ascend/ascend-toolkit/latest/"$(uname -i)"-linux/ascend_toolkit_install.info
138+
139+
- name: Config mirrors
140+
run: |
141+
# sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
142+
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
143+
144+
- name: Install system dependencies
145+
run: |
146+
apt-get update -y
147+
apt-get -y install git wget
148+
149+
- name: Config git
150+
run: |
151+
git config --global url."https://gh-proxy.test.osinfra.cn/https://github.com/".insteadOf https://github.com/
152+
153+
- name: Checkout vllm-project/vllm-ascend repo
154+
uses: actions/checkout@v4
155+
156+
- name: Install dependencies
157+
run: |
158+
pip install -r requirements-dev.txt
159+
160+
- name: Checkout vllm-project/vllm repo
161+
uses: actions/checkout@v4
162+
with:
163+
repository: vllm-project/vllm
164+
path: ./vllm-empty
165+
166+
- name: Install vllm-project/vllm from source
167+
working-directory: ./vllm-empty
168+
run: |
169+
VLLM_TARGET_DEVICE=empty pip install -e .
170+
171+
- name: Install vllm-project/vllm-ascend
172+
run: |
173+
pip install -r requirements-dev.txt
174+
pip install -e .
175+
176+
- name: Install pta
177+
run: |
178+
if [ ! -d /root/.cache/pta ]; then
179+
mkdir -p /root/.cache/pta
180+
fi
181+
182+
if [ ! -f /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ]; then
183+
cd /root/.cache/pta
184+
rm -rf pytorch_v2.5.1_py310*
185+
wget https://pytorch-package.obs.cn-north-4.myhuaweicloud.com/pta/Daily/v2.5.1/20250320.3/pytorch_v2.5.1_py310.tar.gz
186+
tar -zxvf pytorch_v2.5.1_py310.tar.gz
187+
fi
188+
189+
pip install /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
190+
- name: Run vllm-project/vllm-ascend test on V0 engine
191+
env:
192+
VLLM_USE_V1: 0
193+
HF_ENDPOINT: https://hf-mirror.com
194+
run: |
195+
VLLM_USE_V1=0 pytest -sv -m 'multinpu' tests
196+
197+
- name: Run vllm-project/vllm-ascend test for V1 Engine
198+
env:
199+
VLLM_USE_V1: 1
200+
VLLM_WORKER_MULTIPROC_METHOD: spawn
201+
HF_ENDPOINT: https://hf-mirror.com
202+
run: |
203+
pytest -sv -m 'multinpu' tests
204+
205+
test-singlenpu-v0_8_3:
206+
name: vLLM Ascend test v0.8.3(single-npu)
207+
runs-on: linux-arm64-npu-1 # actionlint-ignore: runner-label
208+
container:
209+
image: quay.io/ascend/cann:8.0.0-910b-ubuntu22.04-py3.10
210+
steps:
211+
- name: Check npu and CANN info
212+
run: |
213+
npu-smi info
214+
cat /usr/local/Ascend/ascend-toolkit/latest/"$(uname -i)"-linux/ascend_toolkit_install.info
215+
216+
- name: Config mirrors
217+
run: |
218+
sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
219+
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
220+
apt-get update -y
221+
apt install git -y
222+
git config --global url."https://gh-proxy.test.osinfra.cn/https://github.com/".insteadOf https://github.com/
223+
224+
- name: Checkout vllm-project/vllm-ascend repo
225+
uses: actions/checkout@v4
226+
227+
- name: Install system dependencies
228+
run: |
229+
apt-get -y install `cat packages.txt`
230+
apt-get -y install gcc g++ cmake libnuma-dev
231+
232+
- name: Checkout vllm-project/vllm repo
233+
uses: actions/checkout@v4
234+
with:
235+
repository: vllm-project/vllm
236+
ref: v0.8.3
237+
path: ./vllm-empty
238+
239+
- name: Install vllm-project/vllm from source
240+
working-directory: ./vllm-empty
241+
run: |
242+
VLLM_TARGET_DEVICE=empty pip install -e .
243+
244+
- name: Install vllm-project/vllm-ascend
245+
run: |
246+
pip install -r requirements-dev.txt
247+
pip install -e .
248+
249+
- name: Install pta
250+
run: |
251+
if [ ! -d /root/.cache/pta ]; then
252+
mkdir -p /root/.cache/pta
253+
fi
254+
255+
if [ ! -f /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ]; then
256+
cd /root/.cache/pta
257+
rm -rf pytorch_v2.5.1_py310*
258+
wget https://pytorch-package.obs.cn-north-4.myhuaweicloud.com/pta/Daily/v2.5.1/20250320.3/pytorch_v2.5.1_py310.tar.gz
259+
tar -zxvf pytorch_v2.5.1_py310.tar.gz
260+
fi
261+
262+
pip install /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
263+
264+
- name: Run vllm-project/vllm-ascend test on V0 engine
265+
env:
266+
VLLM_USE_V1: 0
267+
HF_ENDPOINT: https://hf-mirror.com
268+
run: |
269+
VLLM_USE_V1=0 pytest -sv -m 'not multinpu' tests
270+
271+
- name: Run vllm-project/vllm-ascend test for V1 Engine
272+
env:
273+
VLLM_USE_V1: 1
274+
VLLM_WORKER_MULTIPROC_METHOD: spawn
275+
HF_ENDPOINT: https://hf-mirror.com
276+
run: |
277+
pytest -sv -m 'not multinpu' tests
278+
279+
- name: Run vllm-project/vllm test for V0 Engine
280+
env:
281+
VLLM_USE_V1: 0
282+
PYTORCH_NPU_ALLOC_CONF: max_split_size_mb:256
283+
HF_ENDPOINT: https://hf-mirror.com
284+
run: |
285+
pytest -sv
286+
287+
test-multinpu-v0_8_3:
288+
name: vLLM Ascend test v0.8.3(multi-npu)
289+
runs-on: linux-arm64-npu-4
290+
needs: test-multinpu
291+
container:
292+
image: ascendai/cann:8.0.0-910b-ubuntu22.04-py3.10
293+
env:
294+
HF_ENDPOINT: https://hf-mirror.com
295+
HF_TOKEN: ${{ secrets.HF_TOKEN }}
296+
steps:
297+
- name: Check npu and CANN info
298+
run: |
299+
npu-smi info
300+
cat /usr/local/Ascend/ascend-toolkit/latest/"$(uname -i)"-linux/ascend_toolkit_install.info
301+
302+
- name: Config mirrors
303+
run: |
304+
# sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
305+
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
306+
307+
- name: Install system dependencies
308+
run: |
309+
apt-get update -y
310+
apt-get -y install git wget
311+
312+
- name: Config git
313+
run: |
314+
git config --global url."https://gh-proxy.test.osinfra.cn/https://github.com/".insteadOf https://github.com/
315+
316+
- name: Checkout vllm-project/vllm-ascend repo
317+
uses: actions/checkout@v4
318+
319+
- name: Install dependencies
320+
run: |
321+
pip install -r requirements-dev.txt
322+
323+
- name: Checkout vllm-project/vllm repo
324+
uses: actions/checkout@v4
325+
with:
326+
repository: vllm-project/vllm
327+
ref: v0.8.3
328+
path: ./vllm-empty
329+
330+
- name: Install vllm-project/vllm from source
331+
working-directory: ./vllm-empty
332+
run: |
333+
VLLM_TARGET_DEVICE=empty pip install -e .
334+
335+
- name: Install vllm-project/vllm-ascend
336+
run: |
337+
pip install -r requirements-dev.txt
338+
pip install -e .
339+
340+
- name: Install pta
341+
run: |
342+
if [ ! -d /root/.cache/pta ]; then
343+
mkdir -p /root/.cache/pta
344+
fi
345+
346+
if [ ! -f /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ]; then
347+
cd /root/.cache/pta
348+
rm -rf pytorch_v2.5.1_py310*
349+
wget https://pytorch-package.obs.cn-north-4.myhuaweicloud.com/pta/Daily/v2.5.1/20250320.3/pytorch_v2.5.1_py310.tar.gz
350+
tar -zxvf pytorch_v2.5.1_py310.tar.gz
351+
fi
352+
353+
pip install /root/.cache/pta/torch_npu-2.5.1.dev20250320-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
354+
- name: Run vllm-project/vllm-ascend test on V0 engine
355+
env:
356+
VLLM_USE_V1: 0
357+
HF_ENDPOINT: https://hf-mirror.com
358+
run: |
359+
VLLM_USE_V1=0 pytest -sv -m 'multinpu' tests
360+
361+
- name: Run vllm-project/vllm-ascend test for V1 Engine
362+
env:
363+
VLLM_USE_V1: 1
364+
VLLM_WORKER_MULTIPROC_METHOD: spawn
365+
HF_ENDPOINT: https://hf-mirror.com
366+
run: |
367+
pytest -sv -m 'multinpu' tests

0 commit comments

Comments
 (0)