main
sh 113 lines 4.94 KB
Raw
1 #!/bin/bash
2 # SPDX-License-Identifier: Apache-2.0
3 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
4 #
5 # Generate Buildkite annotation for ROCm wheel release
6 set -ex
7
8 # Extract build configuration from Dockerfile.rocm_base (single source of truth)
9 # Extract ROCm version dynamically from Dockerfile.rocm_base
10 # BASE_IMAGE format: rocm/dev-ubuntu-22.04:7.0-complete -> extracts "7.0"
11 ROCM_VERSION=$(grep -E '^ARG BASE_IMAGE=' docker/Dockerfile.rocm_base | sed -E 's/.*:([0-9]+\.[0-9]+).*/\1/' || echo "unknown")
12 PYTHON_VERSION=$(grep '^ARG PYTHON_VERSION=' docker/Dockerfile.rocm_base | sed 's/^ARG PYTHON_VERSION=//')
13 PYTORCH_ROCM_ARCH=$(grep '^ARG PYTORCH_ROCM_ARCH=' docker/Dockerfile.rocm_base | sed 's/^ARG PYTORCH_ROCM_ARCH=//')
14
15 # Get release version, default to 1.0.0.dev for nightly/per-commit builds
16 RELEASE_VERSION=$(buildkite-agent meta-data get release-version 2>/dev/null || echo "")
17 if [ -z "${RELEASE_VERSION}" ]; then
18 RELEASE_VERSION="1.0.0.dev"
19 fi
20
21 ROCM_BASE_CACHE_KEY=$(.buildkite/scripts/cache-rocm-base-wheels.sh key)
22
23 # S3 URLs
24 S3_BUCKET="${S3_BUCKET:-vllm-wheels}"
25 S3_REGION="${AWS_DEFAULT_REGION:-us-west-2}"
26 S3_URL="http://${S3_BUCKET}.s3-website-${S3_REGION}.amazonaws.com"
27
28 # Format ROCm version for path (e.g., "7.1" -> "rocm710")
29 ROCM_VERSION_PATH="rocm$(echo "${ROCM_VERSION}" | tr -d '.')"
30 ROCM_PATH="rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}"
31 buildkite-agent annotate --style 'success' --context 'rocm-release-workflow' << EOF
32 ## ROCm Wheel and Docker Image Releases
33 ### Build Configuration
34 | Setting | Value |
35 |---------|-------|
36 | **ROCm Version** | ${ROCM_VERSION} |
37 | **Python Version** | ${PYTHON_VERSION} |
38 | **GPU Architectures** | ${PYTORCH_ROCM_ARCH} |
39 | **Branch** | \`${BUILDKITE_BRANCH}\` |
40 | **Commit** | \`${BUILDKITE_COMMIT}\` |
41
42 ### :package: Installation
43
44 **Install from this build (by commit):**
45
46 \`\`\`bash
47 pip install vllm --extra-index-url ${S3_URL}/${ROCM_PATH}/ --trusted-host ${S3_BUCKET}.s3-website-${S3_REGION}.amazonaws.com
48
49 # Example for ROCm ${ROCM_VERSION}:
50 pip install vllm --extra-index-url ${S3_URL}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/ --trusted-host ${S3_BUCKET}.s3-website-${S3_REGION}.amazonaws.com
51 \`\`\`
52
53 **Install from nightly (if published):**
54
55 \`\`\`bash
56 pip install vllm --extra-index-url ${S3_URL}/rocm/nightly/ --trusted-host ${S3_BUCKET}.s3-website-${S3_REGION}.amazonaws.com
57 \`\`\`
58
59 ### :floppy_disk: Download Wheels Directly
60
61 \`\`\`bash
62 # List all ROCm wheels
63 aws s3 ls s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/
64 # Download specific wheels
65 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/vllm-*.whl .
66 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/torch-*.whl .
67 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/triton-*.whl .
68 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/triton-kernels-*.whl .
69 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/torchvision-*.whl .
70 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/torchaudio-*.whl .
71 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/amdsmi-*.whl .
72 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/amd_aiter-*.whl .
73 aws s3 cp s3://${S3_BUCKET}/rocm/${BUILDKITE_COMMIT}/${ROCM_VERSION_PATH}/flash-attn-*.whl .
74 \`\`\`
75
76 ### :gear: Included Packages
77 - **vllm**: vLLM with ROCm support
78 - **torch**: PyTorch built for ROCm ${ROCM_VERSION}
79 - **triton**: Triton
80 - **triton-kernels**: Triton kernels
81 - **torchvision**: TorchVision for ROCm PyTorch
82 - **torchaudio**: Torchaudio for ROCm PyTorch
83 - **amdsmi**: AMD SMI Python bindings
84 - **amd_aiter**: Aiter for ROCm
85 - **flash-attn**: Flash Attention for ROCm
86
87 ### :warning: Notes
88 - These wheels are built for **ROCm ${ROCM_VERSION}** and will NOT work with CUDA GPUs
89 - Supported GPU architectures: ${PYTORCH_ROCM_ARCH}
90 - Platform: Linux x86_64 only
91
92 ### :package: Docker Image Release
93
94 To download and upload the image:
95
96 \`\`\`
97 docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-rocm-base
98 docker pull public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-rocm
99
100 docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${ROCM_BASE_CACHE_KEY}-rocm-base vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}-base
101 docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}-base vllm/vllm-openai-rocm:latest-base
102 docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}-base vllm/vllm-openai-rocm:v${RELEASE_VERSION}-base
103 docker push vllm/vllm-openai-rocm:latest-base
104 docker push vllm/vllm-openai-rocm:v${RELEASE_VERSION}-base
105
106 docker tag public.ecr.aws/q9t5s3a7/vllm-release-repo:${BUILDKITE_COMMIT}-rocm vllm/vllm-openai-rocm:${BUILDKITE_COMMIT}
107 docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT} vllm/vllm-openai-rocm:latest
108 docker tag vllm/vllm-openai-rocm:${BUILDKITE_COMMIT} vllm/vllm-openai-rocm:v${RELEASE_VERSION}
109 docker push vllm/vllm-openai-rocm:latest
110 docker push vllm/vllm-openai-rocm:v${RELEASE_VERSION}
111 \`\`\`
112
113 EOF