Implementation:Vllm project Vllm Test AMD Pipeline Config
| Knowledge Sources | |
|---|---|
| Domains | CI/CD, Testing, AMD GPU |
| Last Updated | 2026-02-08 00:00 GMT |
Overview
Defines the Buildkite test pipeline template for running the vLLM test suite on AMD ROCm GPU hardware.
Description
This YAML file specifies test steps for AMD GPU verification, including labels, commands, timeouts, source file dependencies, and hardware mirroring options. It is fed into a Jinja template at the vllm-project/buildkite-ci repository to generate the final pipeline YAML. The file covers fast-check tests, correctness tests, model-specific tests, distributed tests, and more, all targeting AMD MI-series GPUs.
Usage
Contributors modify this file to add, remove, or update test steps that run on AMD hardware. The pipeline is automatically triggered by Buildkite CI on commits and pull requests. Tests can be conditionally executed based on source file dependencies, and individual steps can be marked as optional, soft-fail, or fast-check-only.
Code Reference
Source Location
- Repository: vllm
- File: .buildkite/test-amd.yaml
- Lines: 1-1694
Signature
steps:
- label: "Pytorch Nightly Dependency Override Check"
soft_fail: true
source_file_dependencies: [...]
commands: [...]
- label: "Async Engine, Inputs, Utils, Worker Test"
timeout_in_minutes: 50
mirror_hardwares: [amdexperimental]
source_file_dependencies: [...]
commands: [...]
- label: "Basic Correctness Test"
timeout_in_minutes: 30
fast_check: true
torch_nightly: true
commands: [...]
Import
# This file is consumed by the Jinja template engine in Buildkite CI:
# https://github.com/vllm-project/buildkite-ci/blob/main/scripts/test-template-aws.j2
#
# It is not imported directly; Buildkite processes this file to generate
# the final pipeline configuration for AMD hardware tests.
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| label | string | Yes | The display name of the test step (emojis allowed) |
| commands | list[string] | Yes | Shell commands to execute for the test (incompatible with command) |
| command | string | Yes | Single shell command to execute (incompatible with commands) |
| timeout_in_minutes | int | No | Timeout for the step; uses default if not specified |
| mirror_hardwares | list[string] | No | Additional hardware targets (e.g., [amdexperimental]) |
| agent_pool | string | No | Specific agent pool to run on (e.g., mi325_1) |
| grade | string | No | Test grade classification (e.g., Blocking) |
| source_file_dependencies | list[string] | No | File path prefixes that trigger this test; if empty, test always runs |
| fast_check | bool | No | Whether to run on each commit in the fastcheck pipeline |
| torch_nightly | bool | No | Whether to run against PyTorch nightly builds |
| optional | bool | No | Never run by default unless manually unblocked or scheduled nightly |
| soft_fail | bool | No | Allow step to fail without failing the entire pipeline |
| no_gpu | bool | No | Run the test without GPU resources (CPU-only) |
| num_gpus | int | No | Number of GPUs required (default: 1) |
| parallelism | int | No | Number of parallel shards for the step |
Outputs
| Name | Type | Description |
|---|---|---|
| Test results | Buildkite step results | Pass/fail status for each test step displayed in Buildkite UI |
| Test logs | stdout/stderr | Console output from pytest and other test runners |
Usage Examples
# Adding a new AMD test step:
- label: "My New AMD Test"
timeout_in_minutes: 30
mirror_hardwares: [amdexperimental]
source_file_dependencies:
- vllm/my_module/
- tests/my_test/
commands:
- pytest -v -s my_test/