diff --git a/.github/workflows/nightly-release.yml b/.github/workflows/nightly-release.yml index 5bd875c5899..091c2fbada0 100644 --- a/.github/workflows/nightly-release.yml +++ b/.github/workflows/nightly-release.yml @@ -153,7 +153,7 @@ jobs: - name: Build wheel in container env: DOCKER_IMAGE: ${{ matrix.arch == 'aarch64' && format('pytorch/manylinuxaarch64-builder:cuda{0}', matrix.cuda) || format('pytorch/manylinux2_28-builder:cuda{0}', matrix.cuda) }} - FLASHINFER_CUDA_ARCH_LIST: ${{ matrix.cuda < '12.9' && '7.5 8.0 8.9 9.0a 10.0a 12.0a' || (matrix.cuda < '13.0' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f' || (matrix.arch == 'aarch64' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f' || '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f')) }} + FLASHINFER_CUDA_ARCH_LIST: ${{ matrix.cuda < '12.9' && '7.5 8.0 8.9 9.0a 10.0a 12.0a' || (matrix.cuda < '13.0' && (matrix.arch == 'aarch64' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f 12.1a' || '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f') || (matrix.arch == 'aarch64' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f 12.1a' || '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f')) }} FLASHINFER_DEV_RELEASE_SUFFIX: ${{ needs.setup.outputs.dev_suffix }} run: | # Extract CUDA major and minor versions diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 38e6e0705ff..0f5586a515c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -182,7 +182,7 @@ jobs: - name: Build wheel in container env: DOCKER_IMAGE: ${{ matrix.arch == 'aarch64' && format('pytorch/manylinuxaarch64-builder:cuda{0}', matrix.cuda) || format('pytorch/manylinux2_28-builder:cuda{0}', matrix.cuda) }} - FLASHINFER_CUDA_ARCH_LIST: ${{ matrix.cuda < '12.9' && '7.5 8.0 8.9 9.0a 10.0a 12.0a' || (matrix.cuda < '13.0' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f' || (matrix.arch == 'aarch64' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f' || '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f')) }} + FLASHINFER_CUDA_ARCH_LIST: ${{ matrix.cuda < '12.9' && '7.5 8.0 8.9 9.0a 10.0a 12.0a' || (matrix.cuda < '13.0' && (matrix.arch == 'aarch64' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f 12.1a' || '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f') || (matrix.arch == 'aarch64' && '7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f 12.1a' || '7.5 8.0 8.9 9.0a 10.0a 10.3a 12.0f')) }} run: | # Extract CUDA major and minor versions CUDA_MAJOR=$(echo "${{ matrix.cuda }}" | cut -d'.' -f1) diff --git a/CLAUDE.md b/CLAUDE.md index 1f43d30da66..e295af8a674 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -585,7 +585,8 @@ When ready to distribute: ```bash # Build flashinfer-jit-cache package cd flashinfer-jit-cache -export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 11.0a 12.0f" +# The full list below needs CUDA 13.0; trim it for older toolkits. +export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f 12.1a" python -m build --no-isolation --wheel ``` diff --git a/README.md b/README.md index 3df96506797..2fc65dd69e3 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,8 @@ python -m pip install dist/*.whl ```bash # flashinfer-jit-cache (customize for your target GPUs) -export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f" +# The full list below needs CUDA 13.0; trim it for older toolkits. +export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f 12.1a" cd flashinfer-jit-cache python -m build --no-isolation --wheel python -m pip install dist/*.whl diff --git a/docs/installation.rst b/docs/installation.rst index d9a2098d705..43ba765edf3 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -105,11 +105,11 @@ You can follow the steps below to install FlashInfer from source code: python -m build --no-isolation --wheel python -m pip install dist/*.whl - Build ``flashinfer-jit-cache`` (customize ``FLASHINFER_CUDA_ARCH_LIST`` for your target GPUs): + Build ``flashinfer-jit-cache`` (customize ``FLASHINFER_CUDA_ARCH_LIST`` for your target GPUs; the full list below needs CUDA 13.0, trim it for older toolkits): .. code-block:: bash - export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f" + export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f 12.1a" cd flashinfer-jit-cache python -m build --no-isolation --wheel python -m pip install dist/*.whl diff --git a/scripts/task_test_jit_cache_package_build_import.sh b/scripts/task_test_jit_cache_package_build_import.sh index 7e397ab0ad9..3c03cc04eeb 100755 --- a/scripts/task_test_jit_cache_package_build_import.sh +++ b/scripts/task_test_jit_cache_package_build_import.sh @@ -143,17 +143,22 @@ arches = ["7.5", "8.0", "8.9", "9.0a"] if cuda_ver is not None: try: major, minor = map(int, cuda_ver.split(".")[:2]) + machine = (os.environ.get("ARCH") or platform.machine()).lower() + is_aarch64 = machine in ("aarch64", "arm64") if (major, minor) >= (13, 0): arches.append("10.0a") arches.append("10.3a") - machine = (os.environ.get("ARCH") or platform.machine()).lower() - if machine in ("aarch64", "arm64"): + if is_aarch64: arches.append("11.0a") arches.append("12.0f") + if is_aarch64: + arches.append("12.1a") elif (major, minor) >= (12, 9): arches.append("10.0a") arches.append("10.3a") arches.append("12.0f") + if is_aarch64: + arches.append("12.1a") elif (major, minor) >= (12, 8): arches.append("10.0a") arches.append("12.0a")