Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/packaging/export_channel_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CHANNEL="test"
71 changes: 35 additions & 36 deletions .github/packaging/vllm_reqs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@
# See the file .github/workflows/gpu_test.yaml for an E2E forge installation using this approach.
# TODO: this should be done way less hackily
aiohappyeyeballs==2.6.1
aiohttp==3.13.0
aiohttp==3.13.1
aiosignal==1.4.0
annotated-types==0.7.0
anyio==4.11.0
astor==0.8.1
async-timeout==5.0.1
attrs==25.4.0
blake3==1.0.7
cachetools==6.2.0
blake3==1.0.8
cachetools==6.2.1
cbor2==5.7.0
certifi==2025.10.5
cffi==2.0.0
charset-normalizer==3.4.3
click==8.3.0
charset-normalizer==3.4.4
click==8.2.1
cloudpickle==3.1.1
cmake==4.1.0
compressed-tensors==0.10.2
Expand All @@ -33,7 +33,7 @@ dnspython==2.8.0
einops==0.8.1
email-validator==2.3.0
exceptiongroup==1.3.0
fastapi==0.118.3
fastapi==0.119.0
fastapi-cli==0.0.13
fastapi-cloud-cli==0.3.1
fastrlock==0.8.3
Expand All @@ -47,81 +47,80 @@ httpcore==1.0.9
httptools==0.7.1
httpx==0.28.1
huggingface-hub==0.35.3
idna==3.10
idna==3.11
interegular==0.3.3
Jinja2==3.1.6
jiter==0.11.0
jiter==0.11.1
jsonschema==4.25.1
jsonschema-specifications==2025.9.1
lark==1.2.2
llguidance==0.7.30
llvmlite==0.44.0
lm-format-enforcer==0.10.12
markdown-it-py==4.0.0
MarkupSafe==3.0.2
MarkupSafe==2.1.5
mdurl==0.1.2
mistral_common==1.8.5
mpmath==1.3.0
msgpack==1.1.2
msgspec==0.19.0
multidict==6.7.0
networkx==3.4.2
networkx==3.3
ninja==1.13.0
numba==0.61.2
numpy==2.2.6
nvidia-cublas-cu12==12.9.1.4
nvidia-cuda-cupti-cu12==12.9.79
nvidia-cuda-nvrtc-cu12==12.9.86
nvidia-cuda-runtime-cu12==12.9.79
nvidia-cublas-cu12==12.8.4.1
nvidia-cuda-cupti-cu12==12.8.90
nvidia-cuda-nvrtc-cu12==12.8.93
nvidia-cuda-runtime-cu12==12.8.90
nvidia-cudnn-cu12==9.10.2.21
nvidia-cufft-cu12==11.4.1.4
nvidia-cufile-cu12==1.14.1.1
nvidia-curand-cu12==10.3.10.19
nvidia-cusolver-cu12==11.7.5.82
nvidia-cusparse-cu12==12.5.10.65
nvidia-cufft-cu12==11.3.3.83
nvidia-cufile-cu12==1.13.1.3
nvidia-curand-cu12==10.3.9.90
nvidia-cusolver-cu12==11.7.3.90
nvidia-cusparse-cu12==12.5.8.93
nvidia-cusparselt-cu12==0.7.1
nvidia-nccl-cu12==2.27.5
nvidia-nvjitlink-cu12==12.9.86
nvidia-nvjitlink-cu12==12.8.93
nvidia-nvshmem-cu12==3.3.20
nvidia-nvtx-cu12==12.9.79
nvidia-nvtx-cu12==12.8.90
openai==1.90.0
opencv-python-headless==4.12.0.88
outlines_core==0.2.10
packaging==25.0
partial-json-parser==0.2.1.1.post6
pillow==11.3.0
pillow==12.0.0
prometheus-fastapi-instrumentator==7.1.0
prometheus_client==0.23.1
propcache==0.4.1
protobuf==6.32.1
protobuf==6.33.0
psutil==7.1.0
py-cpuinfo==9.0.0
pybase64==1.4.2
pycountry==24.6.1
pycparser==2.23
pydantic==2.12.0
pydantic==2.12.3
pydantic-extra-types==2.10.6
pydantic_core==2.41.1
pydantic_core==2.41.4
Pygments==2.19.2
python-dotenv==1.1.1
python-json-logger==4.0.0
python-multipart==0.0.20
pytorch-triton==3.4.0+gitf7888497
PyYAML==6.0.3
pyzmq==27.1.0
ray==2.49.2
referencing==0.36.2
ray==2.50.0
referencing==0.37.0
regex==2025.9.18
requests==2.32.5
rich==14.2.0
rich-toolkit==0.15.1
rignore==0.7.0
rignore==0.7.1
rpds-py==0.27.1
safetensors==0.6.2
scipy==1.15.3
sentencepiece==0.2.1
sentry-sdk==2.41.0
setuptools-scm==9.2.0
sentry-sdk==2.42.0
setuptools-scm==9.2.1
shellingham==1.5.4
sniffio==1.3.1
soundfile==0.13.1
Expand All @@ -131,17 +130,17 @@ sympy==1.14.0
tiktoken==0.12.0
tokenizers==0.22.1
tomli==2.3.0
torch==2.9.0.dev20250905+cu129
torch==2.9.0+cu128
tqdm==4.67.1
transformers==4.57.0
triton==3.4.0
transformers==4.57.1
triton==3.5.0
typer==0.19.2
typing-inspection==0.4.2
typing_extensions==4.15.0
urllib3==2.5.0
uvicorn==0.37.0
uvloop==0.21.0
watchfiles==1.1.0
uvloop==0.22.1
watchfiles==1.1.1
websockets==15.0.1
xgrammar==0.1.21
yarl==1.22.0
34 changes: 17 additions & 17 deletions .github/workflows/build_vllm.yaml
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
name: Build pinned vLLM against PyTorch nightly and upload
name: Build pinned vLLM against PyTorch stable and upload

on:
push:
branches:
- nightly
workflow_dispatch:
pull_request: # Remove this before landing

permissions:
id-token: write
contents: read

jobs:
build:
name: forge-cu129-nightly
uses: pytorch/test-infra/.github/workflows/build_wheels_linux.yml@main
name: forge-cu128
uses: pytorch/test-infra/.github/workflows/build_wheels_linux.yml@vllm-push
strategy:
fail-fast: false
with:
repository: meta-pytorch/forge
ref: ""
ref: main
test-infra-repository: pytorch/test-infra
test-infra-ref: main
test-infra-ref: 'vllm-push'
run-smoke-test: false
wheel-nightly-policy: gha_workflow_preview_build_wheels
wheel-upload-path: whl/preview/forge/
channel: test
# env-var-script: .github/packaging/export_channel_test.sh
# wheel-nightly-policy: gha_workflow_preview_build_wheels
# wheel-upload-path: whl/test/forge/
package-name: forge
build-matrix: |
{
"include": [
{
"python_version": "3.10",
"gpu_arch_type": "cpu",
"gpu_arch_version": "12.9",
"desired_cuda": "cu129",
"container_image": "pytorch/manylinux2_28-builder:cuda12.9",
"gpu_arch_version": "12.8",
"desired_cuda": "cu128",
"container_image": "pytorch/manylinux2_28-builder:cuda12.8",
"package_type": "manywheel",
"build_name": "manywheel-py3_10-cuda12_9",
"build_name": "manywheel-py3_10-cuda12_8",
"validation_runner": "linux.12xlarge.memory",
"installation": "pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129",
"channel": "nightly",
"installation": "pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128",
"channel": "test",
"upload_to_base_bucket": "no",
"stable_version": "2.8.0",
"stable_version": "2.9.0",
"use_split_build": false
}
]
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/build_vllm_nightly.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Build pinned vLLM against PyTorch nightly and upload

on:
push:
branches:
- nightly
workflow_dispatch:
pull_request: # Remove this before landing

permissions:
id-token: write
contents: read

jobs:
build:
name: forge-cu128-nightly
uses: pytorch/test-infra/.github/workflows/build_wheels_linux.yml@main
strategy:
fail-fast: false
with:
repository: meta-pytorch/forge
ref: ""
test-infra-repository: pytorch/test-infra
test-infra-ref: main
run-smoke-test: false
wheel-nightly-policy: gha_workflow_preview_build_wheels
wheel-upload-path: whl/preview/forge/
package-name: forge
build-matrix: |
{
"include": [
{
"python_version": "3.10",
"gpu_arch_type": "cpu",
"gpu_arch_version": "12.8",
"desired_cuda": "cu128",
"container_image": "pytorch/manylinux2_28-builder:cuda12.8",
"package_type": "manywheel",
"build_name": "manywheel-py3_10-cuda12_8",
"validation_runner": "linux.12xlarge.memory",
"installation": "pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128",
"channel": "nightly",
"upload_to_base_bucket": "no",
"stable_version": "2.9.0",
"use_split_build": false
}
]
}
pre-script: .github/packaging/pre_build_cpu.sh
post-script: .github/packaging/post_build_script.sh
trigger-event: ${{ github.event_name }}
build-platform: 'python-build-package'
14 changes: 7 additions & 7 deletions .github/workflows/build_wheels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions:

jobs:
build:
name: forge-cu129-nightly
name: forge-cu128-nightly
uses: pytorch/test-infra/.github/workflows/build_wheels_linux.yml@main
strategy:
fail-fast: false
Expand All @@ -31,16 +31,16 @@ jobs:
{
"python_version": "3.10",
"gpu_arch_type": "cuda",
"gpu_arch_version": "12.9",
"desired_cuda": "cu129",
"container_image": "pytorch/manylinux2_28-builder:cuda12.9",
"gpu_arch_version": "12.8",
"desired_cuda": "cu128",
"container_image": "pytorch/manylinux2_28-builder:cuda12.8",
"package_type": "manywheel",
"build_name": "manywheel-py3_10-cuda12_9",
"build_name": "manywheel-py3_10-cuda12_8",
"validation_runner": "linux.4xlarge.nvidia.gpu",
"installation": "pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129",
"installation": "pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128",
"channel": "nightly",
"upload_to_base_bucket": "no",
"stable_version": "2.8.0",
"stable_version": "2.9.0",
"use_split_build": false
}
]
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/gpu_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ jobs:
- name: Update pip
run: python -m pip install --upgrade pip
- name: Install pinned torch nightly
run: python -m pip install --pre torch==2.9.0.dev20250905 --no-cache-dir --index-url https://download.pytorch.org/whl/nightly/cu129
run: python -m pip install torch==2.9.0 --no-cache-dir --index-url https://download.pytorch.org/whl/cu128
- name: Download and install vLLM and its dependencies
# TODO: this honestly could not be hackier if I tried
run: |
python -m pip install -r .github/packaging/vllm_reqs.txt
python -m pip install vllm==0.10.1.dev0+g6d8d0a24c.d20251009.cu129 --no-cache-dir --index-url https://download.pytorch.org/whl/preview/forge
python -m pip install vllm==0.10.1.dev0+g6d8d0a24c.d20251009.cu128 --no-cache-dir --index-url https://download.pytorch.org/whl/preview/forge
- name: Install Monarch
run: pip install torchmonarch==0.1.0rc1
run: pip install torchmonarch==0.1.0rc4
- name: Install torchtitan and torchstore
run: |
python -m pip install git+https://github.com/pytorch/torchtitan.git
Expand Down
13 changes: 4 additions & 9 deletions assets/versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,10 @@
# LICENSE file in the root directory of this source tree.

# Version Configuration for Forge Wheel Building
# This file contains all pinned versions and commits for dependencies
# This file contains all pinned versions/tags/commits for dependencies
PYTORCH_VERSION="2.9.0"
MONARCH_VERSION="0.1.0rc4"

# PyTorch version
PYTORCH_VERSION="2.9.0.dev20250905"

# vLLM branch
VLLM_BRANCH="v0.10.0"

# Commit hashes
MONARCH_COMMIT="195503223b5c2896846171f60ac99dc6868f8f2c"
TORCHTITAN_COMMIT="d0e25450bcac2332359b13fbda430dc701f073d4"
TORCHTITAN_COMMIT="0cfbd0b3c2d827af629a107a77a9e47229c31663"
TORCHSTORE_COMMIT="662299faf4fd50ee30bd9aa3f4ce8c0e2db1d310"
Binary file not shown.
17 changes: 10 additions & 7 deletions scripts/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -274,21 +274,24 @@ main() {
check_gh_install
download_vllm_wheel

log_info "Installing PyTorch nightly..."
pip install torch==$PYTORCH_VERSION --index-url https://download.pytorch.org/whl/nightly/cu129
log_info "Installing PyTorch..."
if [[ "$PYTORCH_VERSION" == *"dev"* ]]; then
pip install --pre torch==$PYTORCH_VERSION --index-url https://download.pytorch.org/whl/nightly/cu128
else
pip install torch==$PYTORCH_VERSION
fi

log_info "Installing Monarch ..."
pip install torchmonarch==$MONARCH_VERSION

log_info "Installing all wheels (local + downloaded)..."
log_info "Installing remaining wheels (local + downloaded)..."
pip install "$WHEEL_DIR"/*.whl

log_info "Installing Forge from source..."
pip install -e .

# Set up environment
log_info "Setting up environment..."

# Get conda environment directory
local conda_env_dir="${CONDA_PREFIX}"

if [ -z "$conda_env_dir" ]; then
log_error "Could not determine conda environment directory"
exit 1
Expand Down
Loading