Skip to content

[pipeline-generator] VLLM_CI_PLATFORM: build only one platform's jobs (amd or cuda) - #842

Merged
AndreasKaratzas merged 5 commits into
vllm-project:mainfrom
micah-wil:platform-only-builds
Nov 4, 2026
Merged

AndreasKaratzas merged 5 commits into
vllm-project:mainfrom
micah-wil:platform-only-builds

Conversation

@micah-wil

@micah-wil micah-wil commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds VLLM_CI_PLATFORM to the pipeline generator. Set it to amd or cuda and the build contains only that platform's jobs; every other step is left out of the pipeline (not deferred into "Run more jobs").

Each step belongs to the platform of its device:

  • amd: amd_cpu (the AMD build steps), the MI250/MI300/MI325/MI355 queues, and amd- mirrors. A CUDA step with an AMD mirror keeps the mirror and drops the CUDA job.
  • cuda: the NVIDIA GPUs, the cpu/cpu-small/cpu-medium queues, and steps with no device (image builds, default GPU jobs).
  • Intel, Arm, Ascend and Zen CPU are in neither, so both modes drop them.

Within the platform the usual selection rules still apply (add RUN_ALL=1 to run everything). VLLM_CI_STEP_KEYS naming a step outside the platform fails generation. AMD-only builds skip the test selector, since it never picks AMD steps.

Torch nightly

TORCH_NIGHTLY=1 now implies VLLM_CI_PLATFORM=cuda, replacing the AMD-only exclusion (include_amd, the torch_nightly argument of select_steps_and_dependencies). Behavior change: the torch nightly also drops the Intel CPU/HPU, Arm CPU and Ascend tests, which pin their own torch and gave no torch-nightly signal. TORCH_NIGHTLY=1 with VLLM_CI_PLATFORM=amd fails generation.

Why a platform value and not an AMD_ONLY flag: the torch nightly needs the opposite filter (CUDA only), and #777 adds a third (AMD on gfx942/gfx950). One platform value replaces those special cases instead of adding another.

Testing

  • pytest buildkite/tests: new tests for the device classification, step conversion per platform, key validation, env parsing and the selector skip.
  • Generated vLLM main's real .buildkite/ci_config.yaml with RUN_ALL=1 in each mode: 368 jobs with no platform, 181 with amd (all on AMD queues, plus the "Run more jobs" step), 177 with cuda, and the same 177 with TORCH_NIGHTLY=1. No mode left a depends_on pointing at a dropped step.

Notes

  • CUDA-only builds still build the HPU, XPU and Zen CPU images, because those vLLM steps declare no device. The torch nightly already builds them today.
  • Overlaps with [CI][ROCm] Add AITER_NIGHTLY to Pipeline Generator #777 (AITER nightly), which adds its own device filter on the same lines. The merge is mechanical (AND its arch filter onto the platform filter), and I've verified the combined tree passes tests. Happy to rebase after [CI][ROCm] Add AITER_NIGHTLY to Pipeline Generator #777 lands. A follow-up could have AITER_NIGHTLY=1 imply VLLM_CI_PLATFORM=amd.

micah-wil and others added 3 commits October 20, 2026 20:25
… (amd or cuda)

TORCH_NIGHTLY now implies VLLM_CI_PLATFORM=cuda instead of dropping only the AMD lane.

Signed-off-by: Micah Williamson <micah.williamson@amd.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Micah Williamson <micah.williamson@amd.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Drops platforms.py and its CUDA device list; the check is now AMD vs. not AMD, next to is_amd_device. TORCH_NIGHTLY keeps exactly the jobs it kept before.

Signed-off-by: Micah Williamson <micah.williamson@amd.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@AndreasKaratzas

Copy link
Copy Markdown
Member

Wrong button sorry !!

micah-wil and others added 2 commits November 4, 2026 09:19
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	buildkite/pipeline_generator/buildkite_step.py
#	buildkite/pipeline_generator/pipeline_generator.py
#	buildkite/tests/pipeline_generator/test_step.py
…TFORM

Signed-off-by: Micah Williamson <micah.williamson@amd.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@micah-wil micah-wil changed the title [pipeline-generator] VLLM_CI_ONLY_PLATFORM: build only one platform's jobs (amd or cuda) [pipeline-generator] VLLM_CI_PLATFORM: build only one platform's jobs (amd or cuda) Nov 4, 2026

@khluu khluu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kevin's review agent: approve for CI changes only

@micah-wil

Copy link
Copy Markdown
Contributor Author

Test build showing only AMD jobs being selected with VLLM_CI_PLATFORM=amd https://buildkite.com/vllm/ci/builds/100037/list

Test build showing no impact to a regular build: https://buildkite.com/vllm/ci/builds/100040/list

@AndreasKaratzas
AndreasKaratzas merged commit ed631e4 into vllm-project:main Nov 4, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants