Skip to content

Commit b1d89eb

Browse files
[chore] release fastvideo-kernel 0.3.0 (#1478)
1 parent 995a5fd commit b1d89eb

6 files changed

Lines changed: 30 additions & 28 deletions

File tree

.github/workflows/publish-kernel.yml

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,23 +53,15 @@ jobs:
5353
fail-fast: false
5454
matrix:
5555
os: [ubuntu-22.04]
56-
python-version: ['3.10', '3.11', '3.12']
56+
python-version: ['3.12']
5757
torch-cuda:
58-
# - torch-version: '2.5.1'
59-
# cuda-version: '12.4.1'
60-
# torch-cuda-short: 'cu124'
61-
# - torch-version: '2.6.0'
62-
# cuda-version: '12.6.3'
63-
# torch-cuda-short: 'cu126'
64-
# - torch-version: '2.7.1'
65-
# cuda-version: '12.8.0'
66-
# torch-cuda-short: 'cu128'
67-
# - torch-version: '2.9.1'
68-
# cuda-version: '12.8.0'
69-
# torch-cuda-short: 'cu128'
70-
- torch-version: '2.10.0'
71-
cuda-version: '12.8.0'
72-
torch-cuda-short: 'cu128'
58+
# torch 2.12 dropped cu128; cu130 (CUDA 13) is the default wheel, cu126 covers older drivers.
59+
- torch-version: '2.12.0'
60+
cuda-version: '12.6.3'
61+
torch-cuda-short: 'cu126'
62+
- torch-version: '2.12.0'
63+
cuda-version: '13.0.0'
64+
torch-cuda-short: 'cu130'
7365

7466
steps:
7567
- name: Free up disk space
@@ -152,9 +144,17 @@ jobs:
152144
153145
cd fastvideo-kernel
154146
git submodule update --init --recursive # Ensure ThunderKittens submodule is initialized
155-
# Release builds are produced on GPU-less runners, so force-enable TK and target Hopper.
156-
export TORCH_CUDA_ARCH_LIST="9.0a"
157-
export CMAKE_ARGS="${CMAKE_ARGS:-} -DFASTVIDEO_KERNEL_BUILD_TK=ON -DCMAKE_CUDA_ARCHITECTURES=90a"
147+
# Release builds run on GPU-less runners, so force-enable TK and set the arch explicitly.
148+
# The CUDA 13 (cu130) leg additionally targets Blackwell sm_120a and builds the
149+
# attn_qat_infer FP4 inference kernels (they need CUDA Toolkit 12.8+, so the cu126 leg
150+
# stays Hopper-only and ships without them).
151+
if [ "${{ matrix.torch-cuda.torch-cuda-short }}" = "cu130" ]; then
152+
export TORCH_CUDA_ARCH_LIST="9.0a;12.0a"
153+
export CMAKE_ARGS="${CMAKE_ARGS:-} -DFASTVIDEO_KERNEL_BUILD_TK=ON -DFASTVIDEO_KERNEL_BUILD_ATTN_QAT_INFER=ON -DCMAKE_CUDA_ARCHITECTURES=90a"
154+
else
155+
export TORCH_CUDA_ARCH_LIST="9.0a"
156+
export CMAKE_ARGS="${CMAKE_ARGS:-} -DFASTVIDEO_KERNEL_BUILD_TK=ON -DCMAKE_CUDA_ARCHITECTURES=90a"
157+
fi
158158
159159
# Build standard wheel (no local version suffix) for PyPI
160160
python -m build --wheel --outdir dist
@@ -183,8 +183,8 @@ jobs:
183183
mv fixed_dist/*.whl dist/
184184
185185
- name: Upload wheel artifact
186-
# Only upload if it's the "main" CUDA version we want on PyPI
187-
# We upload all to artifacts for inspection/GH releases, but give them distinct artifact names
186+
# Upload every matrix leg as a distinct artifact (for inspection / GitHub releases).
187+
# The publish job below selects which CUDA build is pushed to PyPI.
188188
uses: actions/upload-artifact@v4
189189
with:
190190
name: fastvideo_kernel-py${{ matrix.python-version }}-${{ matrix.torch-cuda.torch-cuda-short }}-torch${{ matrix.torch-cuda.torch-version }}
@@ -204,13 +204,15 @@ jobs:
204204

205205
- uses: actions/setup-python@v5
206206
with:
207-
python-version: '3.10'
207+
python-version: '3.12'
208208

209209
- name: Download PyPI wheels
210+
# Publish only the cu130 (CUDA 13) wheel to PyPI — it includes the Blackwell FP4 kernels.
211+
# The cu126 wheel stays available as a build artifact / GitHub-release asset.
210212
uses: actions/download-artifact@v4
211213
with:
212214
path: fastvideo-kernel/dist/
213-
pattern: 'fastvideo_kernel-py*'
215+
pattern: 'fastvideo_kernel-py*-cu130-*'
214216
merge-multiple: true
215217

216218
- name: Install uv

apps/dreamverse/docker/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ checkout with the `dreamverse` extra, installs the FA4
3232
flash-attention fork, builds native FFmpeg, and installs FlashInfer for NVFP4
3333
quantization.
3434

35-
FastVideo's pinned `fastvideo-kernel==0.2.6` package is installed by default.
35+
FastVideo's pinned `fastvideo-kernel==0.3.0` package is installed by default.
3636
To rebuild `fastvideo-kernel` from this checkout during the image build, set:
3737

3838
```bash

fastvideo-kernel/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ build-backend = "scikit_build_core.build"
99

1010
[project]
1111
name = "fastvideo-kernel"
12-
version = "0.2.6"
12+
version = "0.3.0"
1313
description = "Unified CUDA kernels for FastVideo"
1414
readme = "README.md"
1515
requires-python = ">=3.10"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.2.6"
1+
__version__ = "0.3.0"

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ dependencies = [
6767
"remote-pdb",
6868

6969
# Kernel & Packaging
70-
"fastvideo-kernel==0.2.6",
70+
"fastvideo-kernel==0.3.0",
7171
"wheel",
7272

7373
# Training Dependencies

pyproject_other.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ dependencies = [
6565
"remote-pdb",
6666

6767
# Kernel & Packaging
68-
"fastvideo-kernel==0.2.6",
68+
"fastvideo-kernel==0.3.0",
6969
"wheel",
7070

7171
# Training Dependencies

0 commit comments

Comments
 (0)