Skip to content

Commit d5ffa3d

Browse files
authored
Merge branch 'main' into yadan-v2
2 parents 6aa3c1b + f54497b commit d5ffa3d

File tree

115 files changed

+1145
-1925
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+1145
-1925
lines changed

.github/workflows/pr-vllm.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ env:
2121
OS_VERSION: "ubuntu22.04"
2222

2323
# vLLM EC2
24-
VLLM_VERSION: 0.14.0
25-
PROD_EC2_IMAGE: vllm:0.14-gpu-py312-ec2
24+
VLLM_VERSION: 0.15.0
25+
PROD_EC2_IMAGE: vllm:0.15-gpu-py312-ec2
2626

2727
# vLLM SageMaker
28-
PROD_SAGEMAKER_IMAGE: vllm:0.14-gpu-py312
28+
PROD_SAGEMAKER_IMAGE: vllm:0.15-gpu-py312
2929

3030
# vLLM RayServe
3131
VLLM_RAYSERVE_VERSION: 0.10.2
@@ -192,7 +192,7 @@ jobs:
192192
193193
- name: Setup for vLLM tests
194194
run: |
195-
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_14_0_test_setup.sh
195+
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_15_0_test_setup.sh
196196
197197
- name: Run vLLM tests
198198
run: |
@@ -238,7 +238,7 @@ jobs:
238238
239239
- name: Setup for vLLM tests
240240
run: |
241-
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_14_0_test_setup.sh
241+
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_15_0_test_setup.sh
242242
243243
- name: Run vLLM tests
244244
run: |
@@ -284,7 +284,7 @@ jobs:
284284
285285
- name: Setup for vLLM tests
286286
run: |
287-
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_14_0_test_setup.sh
287+
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_15_0_test_setup.sh
288288
289289
- name: Run vLLM tests
290290
run: |
@@ -594,7 +594,7 @@ jobs:
594594
595595
- name: Setup for vLLM tests
596596
run: |
597-
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_14_0_test_setup.sh
597+
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_15_0_test_setup.sh
598598
599599
- name: Run vLLM tests
600600
run: |
@@ -640,7 +640,7 @@ jobs:
640640
641641
- name: Setup for vLLM tests
642642
run: |
643-
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_14_0_test_setup.sh
643+
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_15_0_test_setup.sh
644644
645645
- name: Run vLLM tests
646646
run: |
@@ -686,7 +686,7 @@ jobs:
686686
687687
- name: Setup for vLLM tests
688688
run: |
689-
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_14_0_test_setup.sh
689+
docker exec ${CONTAINER_ID} scripts/vllm/vllm_0_15_0_test_setup.sh
690690
691691
- name: Run vLLM tests
692692
run: |

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ __pycache__
88

99
# Generated docs
1010
docs/tutorials
11-
# docs/releasenotes/*/
11+
docs/releasenotes/*/
1212
docs/reference/available_images.md
1313
docs/reference/support_policy.md

.kiro/steering/docs.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@ from utils import render_table
172172
# Build a complete row (uses img.get_display() internally)
173173
row = build_image_row(img, columns) # ["PyTorch 2.9", "py312", ...]
174174

175+
# Build row with field overrides (e.g., for version consolidation in support_policy)
176+
row = build_image_row(img, columns, overrides={"version": "2.9"})
177+
175178
# Render markdown table
176179
table = render_table(headers, rows)
177180
```
@@ -216,7 +219,7 @@ To generate release notes for an image, add the following fields to the image co
216219
217220
```yaml
218221
# Required for release notes generation (both must be present)
219-
announcement:
222+
announcements:
220223
- "Introduced containers for PyTorch 2.9 for Training"
221224
- "Added Python 3.12 support"
222225

@@ -236,14 +239,14 @@ optional:
236239
**Required fields for release notes** are defined in `constants.py`:
237240

238241
```python
239-
RELEASE_NOTES_REQUIRED_FIELDS = ["announcement", "packages"]
242+
RELEASE_NOTES_REQUIRED_FIELDS = ["announcements", "packages"]
240243
```
241244

242245
The `packages` field uses keys that map to display names in `global.yml` under `display_names`.
243246

244247
### Release Notes Generation
245248

246-
Release notes are automatically generated for images that have all required fields (`announcement` and `packages`).
249+
Release notes are automatically generated for images that have all required fields (`announcements` and `packages`).
247250

248251
**Output structure:**
249252

@@ -275,7 +278,7 @@ This separation uses the `ImageConfig.is_supported` property.
275278
276279
**Generated release note sections:**
277280
278-
1. **Announcement** - Bullet list from `announcement` field
281+
1. **Announcements** - Bullet list from `announcements` field
279282
1. **Core Packages** - Table from `packages` field (keys mapped via `display_names`)
280283
1. **Security Advisory** - Hardcoded section with link to AWS Security Bulletin
281284
1. **Reference** - Docker image URIs (private ECR + public ECR if `public_registry: true`) and links to available_images.md and support_policy.md
@@ -357,11 +360,16 @@ table_order:
357360

358361
The `framework_groups` configuration consolidates support policy rows by framework. Repositories in the same group are combined into a single row using the framework name (e.g., "PyTorch").
359362

363+
**Version Display:**
364+
365+
- Images with the same major.minor version (e.g., `2.6.0` and `2.6.1`) are consolidated into a single row displayed as `2.6` if they have identical GA/EOP dates
366+
- If patch versions have different GA/EOP dates, each is displayed separately with full version (e.g., `2.6.0`, `2.6.1`) and a warning is logged
367+
360368
**Requirements:**
361369

362-
- All repositories in a group that have a given version must have identical GA/EOP dates
370+
- All repositories in a group that have a given full version (X.Y.Z) must have identical GA/EOP dates
363371
- Missing versions in some repositories are allowed (only present repos are consolidated)
364-
- A `ValueError` is raised if dates differ within a group for the same version
372+
- A `ValueError` is raised if dates differ within a group for the same full version
365373

366374
To add a new framework group, add an entry to `framework_groups` with the framework name as key and list of repositories as value.
367375

docker/vllm/Dockerfile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Declare the argument as default to use as input
22
# base image: https://hub.docker.com/r/vllm/vllm-openai/tags
3-
ARG BASE_IMAGE=vllm/vllm-openai:v0.14.0
3+
ARG BASE_IMAGE=vllm/vllm-openai:v0.15.0
44

55
# Use input argument as base image
66
FROM $BASE_IMAGE AS base
@@ -19,7 +19,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
1919
PYTHONDONTWRITEBYTECODE=1 \
2020
PYTHONUNBUFFERED=1 \
2121
PYTHONIOENCODING=UTF-8 \
22-
LD_LIBRARY_PATH="/usr/local/lib:/opt/amazon/ofi-nccl/lib:/opt/amazon/openmpi/lib:/opt/amazon/efa/lib:/usr/local/cuda/lib64:${LD_LIBRARY_PATH}" \
22+
LD_LIBRARY_PATH="/opt/amazon/ofi-nccl/lib:/opt/amazon/openmpi/lib:/opt/amazon/efa/lib:/usr/local/cuda/lib64:${LD_LIBRARY_PATH}" \
2323
PATH="/opt/amazon/openmpi/bin:/opt/amazon/efa/bin:/usr/local/cuda/bin:${PATH}"
2424

2525
WORKDIR /
@@ -65,6 +65,11 @@ RUN bash install_efa.sh ${EFA_VERSION} \
6565
&& rm -rf /usr/local/cuda/bin/cuobjdump* \
6666
&& rm -rf /usr/local/cuda/bin/nvdisasm*
6767

68+
# TODO: remove this code when issue is fixed:
69+
# issue introduced by https://github.com/vllm-project/vllm/pull/30784
70+
# until https://github.com/vllm-project/vllm/pull/32377 is merged
71+
RUN rm /etc/ld.so.conf.d/00-cuda-compat.conf || true
72+
6873
# ====================== ec2 =========================================
6974
FROM base AS vllm-ec2
7075

docs/DEVELOPMENT.md

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,30 @@ cd docs/src && python main.py --verbose
1515
```
1616
docs/
1717
├── src/
18-
│ ├── data/ # Per-image configuration files
18+
│ ├── data/ # Per-image configuration files
1919
│ │ ├── template/
20-
│ │ │ └── image-template.yml # Template with all fields documented
20+
│ │ │ └── image-template.yml # Template with all fields documented
2121
│ │ ├── pytorch-training/
22-
│ │ │ └── <version>-<accelerator>-<platform>.yml
22+
│ │ │ └── <version>-<accelerator>-<platform>.yml # Naming is for organization only
2323
│ │ └── ...
24-
│ ├── legacy/ # Historical support data
24+
│ ├── legacy/ # Historical support data
2525
│ │ └── legacy_support.yml
26-
│ ├── tables/ # Table column configurations
26+
│ ├── tables/ # Table column configurations
2727
│ │ └── <repository>.yml
2828
│ ├── templates/
29-
│ │ ├── reference/ # Reference page templates
30-
│ │ └── releasenotes/ # Release notes templates
31-
│ ├── constants.py # Path constants and GLOBAL_CONFIG
32-
│ ├── generate.py # Generation logic
33-
│ ├── global.yml # Shared terminology and configuration
34-
│ ├── hooks.py # MkDocs hooks
35-
│ ├── image_config.py # ImageConfig class
36-
│ ├── macros.py # MkDocs macros plugin
37-
│ ├── main.py # CLI entry point
38-
│ ├── sorter.py # Sorting tiebreaker functions
39-
│ └── utils.py # Utility functions
40-
├── reference/ # Generated reference pages
41-
├── releasenotes/ # Generated release notes
29+
│ │ ├── reference/ # Reference page templates
30+
│ │ └── releasenotes/ # Release notes templates
31+
│ ├── constants.py # Path constants and GLOBAL_CONFIG
32+
│ ├── generate.py # Generation logic
33+
│ ├── global.yml # Shared terminology and configuration
34+
│ ├── hooks.py # MkDocs hooks
35+
│ ├── image_config.py # ImageConfig class
36+
│ ├── macros.py # MkDocs macros plugin
37+
│ ├── main.py # CLI entry point
38+
│ ├── sorter.py # Sorting tiebreaker functions
39+
│ └── utils.py # Utility functions
40+
├── reference/ # Generated reference pages
41+
├── releasenotes/ # Generated release notes
4242
└── mkdocs.yml
4343
```
4444

@@ -55,17 +55,19 @@ Create `docs/src/data/<repository>/<version>-<accelerator>-<platform>.yml`:
5555
framework: PyTorch
5656
version: "2.9"
5757
accelerator: gpu # gpu, cpu, or neuronx
58-
python: py312
5958
platform: ec2 # ec2 or sagemaker
6059
tags:
6160
- "2.9.0-gpu-py312-cu130-ubuntu22.04-ec2"
6261

6362
# Optional metadata
63+
python: py312
6464
cuda: cu130
6565
os: ubuntu22.04
6666
public_registry: true
6767
```
6868
69+
The YAML file name is for organizational purposes only. However, make sure that the image configuration file lives in the correct repository directory.
70+
6971
See `docs/src/data/template/image-template.yml` for all available fields.
7072

7173
### Step 2: Regenerate
@@ -85,7 +87,12 @@ ga: "2025-10-15" # General Availability date
8587
eop: "2026-10-15" # End of Patch date
8688
```
8789

88-
**Validation:** All images in the same framework group with the same version must have identical GA/EOP dates.
90+
**Version Consolidation:**
91+
92+
- Images with the same major.minor version (e.g., `2.6.0` and `2.6.1`) are consolidated into a single row displayed as `2.6` if they have identical GA/EOP dates
93+
- If patch versions have different GA/EOP dates, each is displayed separately with full version (e.g., `2.6.0`, `2.6.1`) and a warning is logged
94+
95+
**Validation:** All images in the same framework group with the same full version (X.Y.Z) must have identical GA/EOP dates.
8996

9097
______________________________________________________________________
9198

@@ -132,6 +139,10 @@ Release notes are generated automatically for images with `announcements` and `p
132139

133140
Sections render in YAML order as bullet lists.
134141

142+
Section headers in optional sections are rendered via the section key.
143+
To format your optional section headers, add a new field in `docs/src/global.yml` under `display_names` section.
144+
Eg: deprecation_notice section will render its header as `## deprecation_notice` unless a formatted string is provided in `docs/src/global.yml`.
145+
135146
______________________________________________________________________
136147

137148
## Adding a New Repository
@@ -176,6 +187,8 @@ columns:
176187
```
177188

178189
**Available fields:** `framework_version`, `python`, `cuda`, `sdk`, `accelerator`, `platform`, `os`, `example_url`, `version`, `ga`, `eop`, `framework_group`, `repository`, `release_note_link`
190+
To add additional fields, ensure that the image configuration YAML file contains said field of the same name.
191+
Additionally, if you require the field to be formatted, add an additional attribute in `ImageConfig` class of `display_<field_name>` to grab the formatted field.
179192

180193
______________________________________________________________________
181194

@@ -190,6 +203,8 @@ pytorch:
190203
eop: "2025-10-29"
191204
```
192205

206+
Generally, this is only required if an image configuration file does not already exist and the image is already past its support.
207+
193208
______________________________________________________________________
194209

195210
## Global Configuration
@@ -199,14 +214,17 @@ ______________________________________________________________________
199214
- **Terminology:** `aws`, `dlc_long`, `sagemaker`, etc.
200215
- **display_names:** Repository and package display names
201216
- **framework_groups:** Support policy consolidation groups
202-
- **table_order:** Order of tables in available_images.md
217+
- **table_order:** Order of tables displayed within the documentations website (eg: available_images.md and support_policy.md)
203218
- **platforms/accelerators:** Display mappings
204219

205220
______________________________________________________________________
206221

207222
## Running Generation
208223

209224
```bash
225+
# Help
226+
python main.py --help
227+
210228
# Full generation
211229
python main.py --verbose
212230

docs/releasenotes/base/cuda-12.8-ec2.md

Lines changed: 0 additions & 46 deletions
This file was deleted.

docs/releasenotes/base/cuda-12.9-ec2.md

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)