Skip to content

Commit 6ca1d61

Browse files
authored
Add GitHub Actions workflow for testing on GPUs
1 parent 1cdb32a commit 6ca1d61

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

.github/workflows/test.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Run Tests on gpu and iluvatar
2+
on: push
3+
4+
5+
jobs:
6+
upload_on_gpu:
7+
name: Upload on bj-gpu-03 runner
8+
runs-on: bj-gpu-03
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Setup Python
14+
uses: actions/setup-python@v5
15+
with:
16+
python-version: "3.10"
17+
18+
- name: Install dependencies (bj-gpu-03)
19+
shell: bash
20+
run: |
21+
set -euxo pipefail
22+
pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu118/
23+
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
24+
pip install func_timeout pandas pebble pynvml pyyaml
25+
- name: Run EngineV2 (upload on bj-gpu-03)
26+
shell: bash
27+
run: |
28+
set -euxo pipefail
29+
python engineV2.py \
30+
--custom_device_vs_gpu=True \
31+
--custom_device_vs_gpu_mode=upload \
32+
--random_seed=712 \
33+
--api_config_file="tests/test.txt" \
34+
--num_gpus=-1 \
35+
--num_workers_per_gpu=1 \
36+
--required_memory=10.0
37+
- name: Package logs (bj-gpu-03)
38+
if: always()
39+
shell: bash
40+
run: |
41+
set -euxo pipefail
42+
tar -czf test_log.tar.gz tester/api_config/test_log
43+
- name: Upload test logs artifact (bj-gpu-03)
44+
if: always()
45+
uses: actions/upload-artifact@v4
46+
with:
47+
name: test_log_bj-gpu-03
48+
path: test_log.tar.gz
49+
50+
download_on_iluvatar:
51+
name: Download on iluvatar-gpu-2-1 runner
52+
runs-on: [iluvatar-gpu-2-1]
53+
needs: upload_on_gpu
54+
steps:
55+
- name: Checkout code
56+
uses: actions/checkout@v4
57+
58+
- name: Setup Python
59+
uses: actions/setup-python@v5
60+
with:
61+
python-version: "3.10"
62+
63+
- name: Install dependencies (iluvatar-gpu-2-1)
64+
shell: bash
65+
run: |
66+
set -euxo pipefail
67+
pip install func_timeout pandas pebble pynvml pyyaml
68+
python -m pip install paddlepaddle==3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
69+
python -m pip install paddle-iluvatar-gpu==3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/ixuca/
70+
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
71+
- name: Run EngineV2 (download on iluvatar-gpu-2-1)
72+
shell: bash
73+
run: |
74+
set -euxo pipefail
75+
python engineV2.py \
76+
--custom_device_vs_gpu=True \
77+
--custom_device_vs_gpu_mode=download \
78+
--random_seed=712 \
79+
--api_config_file="tests/test.txt" \
80+
--num_gpus=-1 \
81+
--num_workers_per_gpu=1 \
82+
--required_memory=10.0
83+
- name: Package logs (iluvatar-gpu-2-1)
84+
if: always()
85+
shell: bash
86+
run: |
87+
set -euxo pipefail
88+
tar -czf test_log.tar.gz tester/api_config/test_log
89+
- name: Upload test logs artifact (iluvatar-gpu-2-1)
90+
if: always()
91+
uses: actions/upload-artifact@v4
92+
with:
93+
name: test_log_iluvatar-gpu-2-1
94+
path: test_log.tar.gz

0 commit comments

Comments
 (0)