-
Notifications
You must be signed in to change notification settings - Fork 5
feat!: Update to new runners, update PyTorch, add ARM builds, add Blackwell support, add sglang
image
#87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 93 commits
Commits
Show all changes
95 commits
Select commit
Hold shift + click to select a range
9a5990d
feat(torch): Update PyTorch to v2.5.1 & update CUDA 12.6
Eta0 eec6daa
feat(torch): Update `torch:nccl` base images
Eta0 e411a3d
ci(torch): Change `torch:nccl` matrix build layout
Eta0 8612038
ci: Update action versions
Eta0 f58c927
ci: Use remote BuildKit worker & new runners
Eta0 a3f1d78
ci(torch-nightly): Only filter specific fields from configs' `include`
Eta0 e6bb688
ci(torch-nightly): Change `del()` syntax in `yq` filter
Eta0 4fe66e2
ci(torch-nightly): Treat `include` as an array in `yq` filter
Eta0 1c31940
ci(torch-nightly): Exclude `ubuntu20.04` from `torch-nightly` builds
Eta0 092a837
ci(torch-nightly): Filter out entire `include` key for `torch:base`
Eta0 3448307
ci: Build for multiple architectures
Eta0 3b6b17d
ci: Build only for `linux/amd64`
Eta0 35c959b
fix(torch): Include a post-v2.5.1 bugfix patch when building PyTorch
Eta0 0c5c0f0
Merge branch 'es/torch-updates' into es/actions
Eta0 cdafd6b
feat(torch): Parameterize `compiler_wrapper.f95`
Eta0 e0bd93a
fix(torch): Enable preprocessor when compiling `compiler_wrapper.f95`
Eta0 074edd5
build(torch): Make the build process less architecture-dependent
Eta0 dc97cd6
fix(torch): Use `cmake` after installing it instead of before
Eta0 85f3b0e
build(torch): Allow customizing `-march` with `--build-arg`s
Eta0 68121aa
build(torch): Allow customizing `MAX_JOBS` as a build arg
Eta0 d35022b
build(torch): Don't apply custom `MAX_JOBS` to `flash-attn` build
Eta0 8305f7f
build(torch): Line-buffer `grep` output when building PyTorch
Eta0 daa5a4b
build(torch): Filter more output when building PyTorch
Eta0 c940ad4
build(torch): Allow customizing TransformerEngine build arches
Eta0 863fca5
feat(torch): Add `flash-attn` 3 beta
Eta0 b4ce2da
build(torch): Filter even more output when building PyTorch
Eta0 87c22ff
build(torch-extras): Configure `compiler_wrapper.f95` parameters
Eta0 9cb44f4
build(torch-extras): Allow overriding `MAX_JOBS` and `NVCC_APPEND_FLAGS`
Eta0 4a6f2a7
fix(torch-extras): Add missing `+` in parameter expansion
Eta0 1dfcbc1
feat(torch-extras): Build DeepSpeed-Kernels
Eta0 8a44533
fix(torch-extras): Use separate build argument for DS-Kernels arches
Eta0 a3e444d
build(torch-extras): Install `py-cpuinfo` before building DeepSpeed
Eta0 cc76549
build(torch): Allow setting `MAX_JOBS` when building Triton
Eta0 a444c44
build(torch): Allow configuring `NVCC_APPEND_FLAGS` as a build argument
Eta0 a8bbb8a
build(torch-extras): Don't install `cuda-nvprof` before building
Eta0 de9a3de
build(torch): Conditionally enable `USE_PRIORITIZED_TEXT_FOR_LD`
Eta0 a889d61
build(torch): Don't use `lld` on `aarch64`
Eta0 86c27ff
build(torch): Set `-eo pipefail` for the PyTorch build command
Eta0 3b14ffb
feat(torch): Update TransformerEngine to v1.12
Eta0 bb07aed
build(torch): Use `ccache` more often
Eta0 65433ac
feat(torch): Compile `flash-attn` 3 as a separate package
Eta0 69be6f1
build(torch): Use tabs for heredoc indentation
Eta0 ecfac12
build(torch): Invoke `fa-build.sh` correctly
Eta0 a7d7e04
build(torch): Use tabs for other heredocs
Eta0 4e48edb
build(torch): Use the resulting artifact from `flash-attn-3-builder`
Eta0 ac1610a
build(torch): Filter more lines while building `flash-attn`
Eta0 27f1964
build(torch): Build `flash-attn` and `flash-attn` 3 in sequence
Eta0 83367bc
fix(torch): Fix typo in bind mount's `source=` parameter
Eta0 915e47e
fix(torch): Use `exit 1` instead of `exit -1`
Eta0 7162b44
fix(torch): Broaden criteria to apply PyTorch patch
Eta0 d6e73e7
feat(torch): Force compilation for compute capability 9.0a
Eta0 b50c6f2
fix(torch): Restore original criteria to apply PyTorch v2.5.1 patch
Eta0 626b44d
feat(torch): Specify string preprocessor definitions correctly
Eta0 762021f
fix(torch): Install `pybind11` before attempting to build Triton
Eta0 04cfc69
build(torch): Add missing `$` in `MAX_JOBS` default for TE
Eta0 e6dac89
ci(torch): Drop CUDA 12.2.2 build
Eta0 56f06ed
feat(torch-extras): Update Apex to `a1df804`
Eta0 bcd5fab
feat(torch): Update `torch:nccl` base images for HPC-X v2.21
Eta0 c14235b
ci: Update to newer self-hosted runners
Eta0 4f64cf1
ci(torch): Update CUDA 12.6 builds to 12.6.3; update `torch:nccl` bases
Eta0 0dcf27d
fix(torch): Edit `flash-attn` 3 installation for compatibility with TE
Eta0 fd6df40
fix(torch): Add redundant interpreter specification for compatibility
Eta0 ebaf5aa
feat(torch): Update LLVM components, including `libomp` runtime library
Eta0 ed93c44
ci: Remove deprecated BuildKit runner endpoint
Eta0 2da2fb1
feat(torch): Upgrade TransformerEngine to v1.13
Eta0 09ed200
fix(torch): Add `-ffree-line-length-512` to `gfortran` invocations
Eta0 8f95f59
feat(torch): Update `flash-attention` 2 & 3 to v2.7.2
Eta0 8e29075
ci(torch): Drop Ubuntu 20.04 CI builds
Eta0 459aa23
ci: Re-enable multi-arch builds
Eta0 cd1019b
build(torch): Add new build targets with CUDA 12.8.0
Eta0 643b362
ci(torch): Update `nccl-tests` commit hash
Eta0 b58974c
build(torch): Filter `compute_100` build on older CUDA versions
Eta0 7095c59
build(torch): Switch `NVCC_APPEND_FLAGS` to not be an `ENV` directive
Eta0 440d844
ci: Build only for `linux/amd64` again
Eta0 6bc6fb6
feat(torch): Build with PyTorch v2.6.0
Eta0 ba41ff9
feat(torch): Build with `flash-attn` v2.7.4.post1
Eta0 25e8a9e
build(torch): Build both CXX11 ABI variants
Eta0 77574c2
ci(torch): Remove parameterization of `TORCH_CUDA_ARCH_LIST`
Eta0 486738e
build(torch): Downgrade `flash-attn` 3 to the 2.7.2.post1 tag
Eta0 2da31d9
ci: Re-enable ARM64 builds again
Eta0 ac7f89d
ci(torch): Increase `torch` image build job timeout
Eta0 f9ffd6f
ci(torch): Increase all job timeouts
Eta0 fb567b8
ci(torch): Remove `torch`-specific job timeout override
Eta0 0bd8996
build(torch-extras): Specify DeepSpeed build flags better
Eta0 386fabe
build(torch-extras): Remove `DS_ACCELERATOR` specification
Eta0 45dd5a0
build(torch): Enable less-hacky 10.0 arch support in PyTorch
Eta0 90d178b
feat(sglang): Add `sglang` image
Eta0 855d2f3
build(sglang): Use `USE_CUDNN` and `USE_CUSPARSELT` flags in vLLM build
Eta0 dc70ca8
fix(sglang): Remove extraneous `rmdir` build step
Eta0 f113d38
fix(sglang): Skip `apt` prompts
Eta0 f63ddbe
ci(torch-nightly): Update runner image version
Eta0 868a611
ci: Parameterize build platforms
Eta0 0e44116
fix(torch): Filter 10.0 arch builds on unsupported CUDA versions again
Eta0 2f37df6
fix(torch): Filter 10.0 arch builds in TransformerEngine build
Eta0 68fbfd1
ci(torch): Rework logic for passing various build arguments
Eta0 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
cuda: [ 12.6.1, 12.4.1, 12.2.2 ] | ||
os: [ ubuntu22.04, ubuntu20.04 ] | ||
cuda: [ 12.8.0, 12.6.3, 12.4.1 ] | ||
os: [ ubuntu22.04 ] | ||
abi: [ 1, 0 ] | ||
include: | ||
- torch: 2.5.0 | ||
vision: 0.20.0 | ||
audio: 2.5.0 | ||
- torch: 2.6.0 | ||
vision: 0.21.0 | ||
audio: 2.6.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,9 @@ | ||
image: | ||
# Ubuntu 22.04 | ||
- cuda: 12.6.1 | ||
cudnn: cudnn | ||
os: ubuntu22.04 | ||
nccl: 2.23.4-1 | ||
nccl-tests-hash: 2ff05b2 | ||
- cuda: 12.4.1 | ||
cudnn: cudnn | ||
os: ubuntu22.04 | ||
nccl: 2.23.4-1 | ||
nccl-tests-hash: 2ff05b2 | ||
- cuda: 12.2.2 | ||
cudnn: cudnn8 | ||
os: ubuntu22.04 | ||
nccl: 2.23.4-1 | ||
nccl-tests-hash: 2ff05b2 | ||
# Ubuntu 20.04 | ||
- cuda: 12.6.1 | ||
cudnn: cudnn | ||
os: ubuntu20.04 | ||
nccl: 2.23.4-1 | ||
nccl-tests-hash: 2ff05b2 | ||
- cuda: 12.4.1 | ||
cudnn: cudnn | ||
os: ubuntu20.04 | ||
nccl: 2.23.4-1 | ||
nccl-tests-hash: 2ff05b2 | ||
- cuda: 12.2.2 | ||
cudnn: cudnn8 | ||
os: ubuntu20.04 | ||
nccl: 2.21.5-1 | ||
nccl-tests-hash: 2ff05b2 | ||
cuda: [ 12.8.0, 12.6.3, 12.4.1 ] | ||
os: [ ubuntu22.04 ] | ||
abi: [ 1, 0 ] | ||
include: | ||
- torch: 2.5.0 | ||
vision: 0.20.0 | ||
audio: 2.5.0 | ||
- torch: 2.6.0 | ||
vision: 0.21.0 | ||
audio: 2.6.0 | ||
nccl: 2.25.1-1 | ||
nccl-tests-hash: 57fa979 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
tag: | ||
description: 'Tag for the build' | ||
required: true | ||
base-image: | ||
description: 'Base image from which to build' | ||
required: true | ||
builder-image: | ||
description: 'Image to use to compile wheels, if different from the base image' | ||
required: false | ||
push: | ||
paths: | ||
- "sglang/**" | ||
- ".github/workflows/sglang.yml" | ||
- ".github/workflows/build.yml" | ||
|
||
|
||
jobs: | ||
build: | ||
uses: ./.github/workflows/build.yml | ||
secrets: inherit | ||
with: | ||
image-name: sglang | ||
folder: sglang | ||
tag-suffix: ${{ inputs.tag || '386fabe-nccl-cuda12.8.0-ubuntu22.04-nccl2.25.1-1-torch2.6.0-vision0.21.0-audio2.6.0-abi1' }} | ||
build-args: | | ||
BASE_IMAGE=${{ inputs.base-image || 'ghcr.io/coreweave/ml-containers/torch-extras:es-actions-386fabe-nccl-cuda12.8.0-ubuntu22.04-nccl2.25.1-1-torch2.6.0-vision0.21.0-audio2.6.0-abi1'}} | ||
${{ inputs.base-image && 'BASE_IMAGE=' }}${{ inputs.base-image}} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# syntax=docker/dockerfile:1.2 | ||
ARG BASE_IMAGE | ||
ARG BUILDER_IMAGE="${BASE_IMAGE}" | ||
|
||
FROM ${BUILDER_IMAGE} AS builder | ||
|
||
ARG BUILD_TORCH_CUDA_ARCH_LIST='8.0 8.6 8.9 9.0 10.0+PTX' | ||
|
||
ARG FLASHINFER_COMMIT='c04755e21f4d6fb7813c703f2b00a7ef012be9b8' | ||
ARG CUTLASS_COMMIT='b78588d1630aa6643bf021613717bafb705df4ef' | ||
ARG VLLM_COMMIT='5095e966069b9e65b7c4c63427e06cebacaad0a0' | ||
ARG SGLANG_COMMIT='4b6f62e2bc52a528551e9a21e7b0a4945c6115bb' | ||
ARG DECORD_COMMIT='d2e56190286ae394032a8141885f76d5372bd44b' | ||
# Building Triton is not currently enabled, | ||
# but this is the commit that would be used if it were | ||
ARG TRITON_COMMIT='1e0e51c4aeb3e1beea000da5d0e494f8b9ac40dd' | ||
|
||
WORKDIR /build | ||
COPY build.bash /build/ | ||
RUN mkdir /wheels && \ | ||
bash build.bash -a "${BUILD_TORCH_CUDA_ARCH_LIST}" && \ | ||
rm -rf /build/* | ||
COPY install.bash /wheels/ | ||
|
||
FROM ${BASE_IMAGE} | ||
RUN --mount=type=bind,from=builder,source=/wheels,target=/wheels \ | ||
cd /wheels && \ | ||
bash install.bash |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.