Skip to content

Commit b958a53

Browse files
committed
Add Generic GPU CI.
1 parent 4a7ec67 commit b958a53

File tree

2 files changed

+30
-11
lines changed

2 files changed

+30
-11
lines changed

.github/workflows/generic.yml

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,25 @@ concurrency:
1010
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
1111

1212
jobs:
13-
generic-cpu:
13+
generic:
14+
name: >-
15+
Generic (${{ matrix.OS }}) (${{ matrix.PYTEST_FLAGS == '-m required' && 'CPU' || 'GPU' }})
16+
(${{ matrix.PYTHON_VERSION }})
17+
1418
strategy:
1519
fail-fast: false
1620
matrix:
1721
# See official Github documentation for details: https://shorturl.at/NJgsj
18-
OS: ['ubuntu-22.04', 'ubuntu-24.04', 'macos-15', 'windows-2025']
22+
OS: ["ubuntu-22.04", "ubuntu-24.04", "macos-15", "windows-2025"]
1923
PYTHON_VERSION: ["3.10", "3.11", "3.12"]
24+
PYTEST_FLAGS: ["-m required"]
25+
include:
26+
- OS: "macos-15-xlarge" # (MacOS Arm - Apple M1) 6CPU+8GPU, 14GB RAM, 14GB SSD
27+
PYTHON_VERSION: "3.12"
28+
- OS: "gpu-t4-4-core" # (Linux x86) 4CPU, NVIDIA Tesla T4 16 GB VRAM, 28 GB RAM, 176 GB SSD
29+
PYTHON_VERSION: "3.12"
30+
- OS: "win-gpu-t4-4-core" # (Windows x86) 4CPU, NVIDIA Tesla T4 16 GB VRAM, 28 GB RAM, 176 GB SSD
31+
PYTHON_VERSION: "3.12"
2032

2133
env:
2234
HF_HUB_DOWNLOAD_TIMEOUT: 60
@@ -63,24 +75,29 @@ jobs:
6375
6476
echo "PYOPENGL_PLATFORM=osmesa" >> $GITHUB_ENV
6577
66-
- name: Install system dependencies (Linux)
67-
if: startsWith(matrix.OS, 'ubuntu-')
78+
- name: Install system dependencies (Linux CPU+GPU)
79+
if: startsWith(matrix.OS, 'ubuntu-') || matrix.OS == 'gpu-t4-4-core'
6880
run: |
6981
sudo apt-get update
7082
sudo apt install -y \
7183
libgl1 \
7284
libegl1 \
73-
libglvnd-dev \
74-
libglew-dev \
85+
libgles2 \
7586
libegl-dev \
76-
libx11-6 \
77-
libxrender1 \
7887
libglib2.0-0 \
7988
libosmesa6-dev \
80-
libglx-mesa0 \
8189
libglu1-mesa \
90+
libglx-mesa0 \
8291
libegl1-mesa-dev \
8392
libgles2-mesa-dev
93+
- name: Install system dependencies (Linux CPU only)
94+
if: startsWith(matrix.OS, 'ubuntu-')
95+
run: |
96+
sudo apt install -y \
97+
libglew-dev \
98+
libglvnd-dev \
99+
libxrender1 \
100+
libx11-6
84101
- name: Install python dependencies
85102
run: |
86103
pip install --upgrade pip setuptools pkg-info wheel
@@ -98,7 +115,7 @@ jobs:
98115
99116
- name: Run unit tests
100117
run: |
101-
pytest -v --forked -m required ./tests
118+
pytest -v --forked ${{ matrix.PYTEST_FLAGS }} ./tests
102119
103120
- name: Save Updated Taichi Kernel Cache
104121
if: always()

.github/workflows/production.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ concurrency:
1414
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
1515

1616
jobs:
17-
linux-gpu:
17+
production:
18+
name: Production (Coreweave H100)
19+
1820
runs-on: [self-hosted, coreweave]
1921

2022
env:

0 commit comments

Comments
 (0)