Skip to content

Commit e29ca17

Browse files
authored
Merge pull request #568 from Deepali1999/deepali/rebase-rhoai-3.5-nm-0.24.0
Rebase rhoai-3.5 with NeuralMagic sync-v0.24.0
2 parents 4b4f9f2 + 1b0327c commit e29ca17

2,733 files changed

Lines changed: 373455 additions & 76880 deletions

File tree

Some content is hidden

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

.buildkite/ci_config_rocm.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: vllm_rocm_ci
2+
job_dirs:
3+
- ".buildkite/hardware_tests"
4+
run_all_patterns:
5+
- "docker/Dockerfile.rocm"
6+
- "docker/Dockerfile.rocm_base"
7+
- "docker/ci-rocm.hcl"
8+
- "docker/docker-bake-rocm.hcl"
9+
- ".buildkite/hardware_tests/amd.yaml"
10+
- ".buildkite/scripts/ci-bake-rocm.sh"
11+
- ".buildkite/scripts/hardware_ci/run-amd-test.py"
12+
- ".buildkite/scripts/hardware_ci/run-amd-test.sh"
13+
- "CMakeLists.txt"
14+
- "requirements/common.txt"
15+
- "requirements/rocm.txt"
16+
- "requirements/build/rocm.txt"
17+
- "requirements/test/rocm.txt"
18+
- "setup.py"
19+
- "csrc/"
20+
- "cmake/"
21+
run_all_exclude_patterns:
22+
- "csrc/cpu/"
23+
- "cmake/cpu_extension.cmake"

.buildkite/hardware_tests/amd.yaml

Lines changed: 66 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,73 @@
1-
group: Hardware - AMD Build
1+
group: Hardware - AMD Build
22
steps:
3-
- label: "AMD: :docker: build image"
4-
key: image-build-amd
3+
# Ensure ci_base is up-to-date before building the test image.
4+
# Compares a content hash of ci_base-affecting files against the remote
5+
# image label. If hashes match the build is skipped (< 30 s); if they
6+
# differ ci_base is rebuilt and pushed automatically.
7+
- label: "AMD: :docker: ensure ci_base"
8+
key: ensure-ci-base-amd
59
depends_on: []
610
device: amd_cpu
711
no_plugin: true
812
commands:
9-
- >
10-
docker build
11-
--build-arg max_jobs=16
12-
--build-arg REMOTE_VLLM=1
13-
--build-arg ARG_PYTORCH_ROCM_ARCH='gfx90a;gfx942;gfx950'
14-
--build-arg VLLM_BRANCH=$BUILDKITE_COMMIT
15-
--tag "rocm/vllm-ci:${BUILDKITE_COMMIT}"
16-
-f docker/Dockerfile.rocm
17-
--target test
18-
--no-cache
19-
--progress plain .
20-
- docker push "rocm/vllm-ci:${BUILDKITE_COMMIT}"
13+
- bash .buildkite/scripts/ci-bake-rocm.sh ci-base-rocm-ci-with-deps
14+
env:
15+
DOCKER_BUILDKIT: "1"
16+
VLLM_BAKE_FILE: "docker/docker-bake-rocm.hcl"
17+
PYTORCH_ROCM_ARCH: "gfx90a;gfx942;gfx950"
18+
REMOTE_VLLM: "1"
19+
VLLM_BRANCH: "$BUILDKITE_COMMIT"
20+
retry:
21+
automatic:
22+
- exit_status: -1 # Agent was lost
23+
limit: 1
24+
- exit_status: -10 # Agent was lost
25+
limit: 1
26+
27+
- label: "AMD: :docker: build test image and artifacts"
28+
key: image-build-amd
29+
depends_on:
30+
- ensure-ci-base-amd
31+
device: amd_cpu
32+
no_plugin: true
33+
commands:
34+
- |
35+
if [[ "${ROCM_CI_ARTIFACT_ONLY:-0}" == "1" ]]; then
36+
echo "ROCM_CI_ARTIFACT_ONLY=1; building ROCm wheel artifact only"
37+
IMAGE_TAG="" bash .buildkite/scripts/ci-bake-rocm.sh test-rocm-ci-with-artifacts
38+
else
39+
bash .buildkite/scripts/ci-bake-rocm.sh test-rocm-ci-with-wheel
40+
fi
41+
- |
42+
docker run --rm --network=none --entrypoint /bin/bash "rocm/vllm-ci:${BUILDKITE_COMMIT}" -ec '
43+
if [ ! -d /vllm-workspace ]; then echo Missing directory: /vllm-workspace >&2; exit 1; fi
44+
if [ ! -d /vllm-workspace/tests ]; then echo Missing directory: /vllm-workspace/tests >&2; exit 1; fi
45+
if [ ! -d /vllm-workspace/src/vllm ]; then echo Missing directory: /vllm-workspace/src/vllm >&2; exit 1; fi
46+
if [ ! -x /vllm-workspace/src/vllm/vllm-rs ]; then echo Missing executable: /vllm-workspace/src/vllm/vllm-rs >&2; exit 1; fi
47+
command -v python3
48+
command -v uv
49+
command -v pytest
50+
if ! command -v amd-smi >/dev/null 2>&1 && ! command -v rocminfo >/dev/null 2>&1; then
51+
echo No ROCm CLI found in image >&2
52+
exit 1
53+
fi
54+
python3 - <<PY
55+
import torch, vllm
56+
print(torch.__version__)
57+
print(vllm.__version__)
58+
PY
59+
echo AMD image smoke OK
60+
'
2161
env:
2262
DOCKER_BUILDKIT: "1"
63+
VLLM_BAKE_FILE: "docker/docker-bake-rocm.hcl"
64+
PYTORCH_ROCM_ARCH: "gfx90a;gfx942;gfx950"
65+
IMAGE_TAG: "rocm/vllm-ci:$BUILDKITE_COMMIT"
66+
REMOTE_VLLM: "1"
67+
VLLM_BRANCH: "$BUILDKITE_COMMIT"
68+
retry:
69+
automatic:
70+
- exit_status: -1 # Agent was lost
71+
limit: 1
72+
- exit_status: -10 # Agent was lost
73+
limit: 1

.buildkite/hardware_tests/cpu.yaml

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,32 +12,35 @@ steps:
1212
- vllm/_custom_ops.py
1313
- tests/kernels/attention/test_cpu_attn.py
1414
- tests/kernels/moe/test_cpu_fused_moe.py
15-
- tests/kernels/moe/test_cpu_fp8_fused_moe.py
15+
- tests/kernels/moe/test_cpu_quant_fused_moe.py
1616
- tests/kernels/test_onednn.py
1717
- tests/kernels/test_awq_int4_to_int8.py
1818
- tests/kernels/quantization/test_cpu_fp8_scaled_mm.py
19+
- tests/kernels/mamba/cpu/test_cpu_gdn_ops.py
1920
commands:
2021
- |
2122
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 30m "
2223
pytest -x -v -s tests/kernels/attention/test_cpu_attn.py
2324
pytest -x -v -s tests/kernels/moe/test_cpu_fused_moe.py
24-
pytest -x -v -s tests/kernels/moe/test_cpu_fp8_fused_moe.py
25+
pytest -x -v -s tests/kernels/moe/test_cpu_quant_fused_moe.py
2526
pytest -x -v -s tests/kernels/test_onednn.py
2627
pytest -x -v -s tests/kernels/test_awq_int4_to_int8.py
27-
pytest -x -v -s tests/kernels/quantization/test_cpu_fp8_scaled_mm.py"
28+
pytest -x -v -s tests/kernels/quantization/test_cpu_fp8_scaled_mm.py
29+
pytest -x -v -s tests/kernels/mamba/cpu/test_cpu_gdn_ops.py"
2830
29-
- label: CPU-Compatibility Tests
30-
depends_on: []
31-
device: intel_cpu
32-
no_plugin: true
33-
source_file_dependencies:
34-
- cmake/cpu_extension.cmake
35-
- setup.py
36-
- vllm/platforms/cpu.py
37-
commands:
38-
- |
39-
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 20m "
40-
bash .buildkite/scripts/hardware_ci/run-cpu-compatibility-test.sh"
31+
# Note: SDE can't be downloaded from CI host because of AWS WAF
32+
# - label: CPU-Compatibility Tests
33+
# depends_on: []
34+
# device: intel_cpu
35+
# no_plugin: true
36+
# source_file_dependencies:
37+
# - cmake/cpu_extension.cmake
38+
# - setup.py
39+
# - vllm/platforms/cpu.py
40+
# commands:
41+
# - |
42+
# bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 20m "
43+
# bash .buildkite/scripts/hardware_ci/run-cpu-compatibility-test.sh"
4144

4245
- label: CPU-Language Generation and Pooling Model Tests
4346
depends_on: []
@@ -54,23 +57,41 @@ steps:
5457
pytest -x -v -s tests/models/language/generation -m cpu_model
5558
pytest -x -v -s tests/models/language/pooling -m cpu_model"
5659
60+
- label: CPU-ModelRunnerV2 Tests
61+
depends_on: []
62+
device: intel_cpu
63+
no_plugin: true
64+
soft_fail: true
65+
source_file_dependencies:
66+
- vllm/v1/worker/cpu/
67+
- vllm/v1/worker/gpu/
68+
- vllm/v1/sample/ops/topk_topp_triton.py
69+
- vllm/v1/sample/ops/topk_topp_sampler.py
70+
- tests/v1/sample/test_topk_topp_sampler.py
71+
commands:
72+
- |
73+
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 45m "
74+
uv pip install git+https://github.com/triton-lang/triton-cpu.git@270e696d
75+
VLLM_USE_V2_MODEL_RUNNER=1 pytest -x -v -s tests/models/language/generation/test_granite.py -m cpu_model
76+
# TODO: move to CPU-Kernel Tests once triton-cpu has a pre-built wheel
77+
pytest -x -v -s tests/v1/sample/test_topk_topp_sampler.py::TestTritonTopkTopp"
78+
5779
- label: CPU-Quantization Model Tests
5880
depends_on: []
5981
device: intel_cpu
6082
no_plugin: true
6183
source_file_dependencies:
6284
- csrc/cpu/
63-
- vllm/model_executor/layers/quantization/cpu_wna16.py
64-
- vllm/model_executor/layers/quantization/gptq_marlin.py
85+
- vllm/model_executor/layers/quantization/auto_gptq.py
6586
- vllm/model_executor/layers/quantization/compressed_tensors/schemes/compressed_tensors_w8a8_int8.py
66-
- vllm/model_executor/layers/quantization/kernels/scaled_mm/cpu.py
67-
- vllm/model_executor/layers/quantization/kernels/mixed_precision/cpu.py
87+
- vllm/model_executor/kernels/linear/mixed_precision/cpu.py
88+
- vllm/model_executor/kernels/linear/scaled_mm/cpu.py
6889
- vllm/model_executor/layers/fused_moe/experts/cpu_moe.py
6990
- tests/quantization/test_compressed_tensors.py
7091
- tests/quantization/test_cpu_wna16.py
7192
commands:
7293
- |
73-
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 20m "
94+
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 45m "
7495
pytest -x -v -s tests/quantization/test_compressed_tensors.py::test_compressed_tensors_w8a8_logprobs
7596
pytest -x -v -s tests/quantization/test_cpu_wna16.py"
7697
@@ -115,7 +136,7 @@ steps:
115136
- |
116137
bash .buildkite/scripts/hardware_ci/run-cpu-test.sh 45m "
117138
pytest -x -v -s tests/models/multimodal/generation --ignore=tests/models/multimodal/generation/test_pixtral.py -m cpu_model --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB"
118-
parallelism: 3
139+
parallelism: 4
119140

120141
- label: "Arm CPU Test"
121142
depends_on: []

.buildkite/hardware_tests/intel.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,3 @@ steps:
88
commands:
99
- bash .buildkite/scripts/hardware_ci/run-hpu-test.sh
1010

11-
- label: "Intel GPU Test"
12-
depends_on: []
13-
soft_fail: true
14-
device: intel_gpu
15-
no_plugin: true
16-
commands:
17-
- bash .buildkite/scripts/hardware_ci/run-xpu-test.sh
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
group: Intel
2+
steps:
3+
- label: ":docker: Build XPU image"
4+
soft_fail: true
5+
optional: true
6+
depends_on: []
7+
key: image-build-xpu
8+
commands:
9+
- bash -lc '.buildkite/image_build/image_build_xpu.sh "public.ecr.aws/q9t5s3a7" "vllm-ci-test-repo" "$BUILDKITE_COMMIT"'
10+
env:
11+
DOCKER_BUILDKIT: "1"
12+
retry:
13+
automatic:
14+
- exit_status: -1 # Agent was lost
15+
limit: 2
16+
- exit_status: -10 # Agent was lost
17+
limit: 2
18+
- label: "XPU example Test"
19+
depends_on:
20+
- image-build-xpu
21+
timeout_in_minutes: 30
22+
optional: true
23+
device: intel_gpu
24+
agent_tags:
25+
label: production
26+
gpu: 2+
27+
mem: 24+
28+
no_plugin: true
29+
env:
30+
REGISTRY: "public.ecr.aws/q9t5s3a7"
31+
REPO: "vllm-ci-test-repo"
32+
source_file_dependencies:
33+
- .buildkite/hardware_tests/intel_xpu_ci/test-intel.yaml
34+
- .buildkite/scripts/hardware_ci/run-intel-ci-test.sh
35+
commands:
36+
- >-
37+
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
38+
'bash .buildkite/scripts/hardware_ci/run-intel-ci-test.sh example'
39+
- label: "XPU V1 test"
40+
depends_on:
41+
- image-build-xpu
42+
timeout_in_minutes: 30
43+
optional: true
44+
device: intel_gpu
45+
agent_tags:
46+
label: production
47+
gpu: 1+
48+
mem: 16+
49+
no_plugin: true
50+
env:
51+
REGISTRY: "public.ecr.aws/q9t5s3a7"
52+
REPO: "vllm-ci-test-repo"
53+
source_file_dependencies:
54+
- .buildkite/hardware_tests/intel_xpu_ci/test-intel.yaml
55+
- .buildkite/scripts/hardware_ci/run-intel-ci-test.sh
56+
commands:
57+
- >-
58+
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
59+
'bash .buildkite/scripts/hardware_ci/run-intel-ci-test.sh v1'
60+
- label: "XPU server test"
61+
depends_on:
62+
- image-build-xpu
63+
timeout_in_minutes: 30
64+
optional: true
65+
device: intel_gpu
66+
agent_tags:
67+
label: production
68+
gpu: 1+
69+
mem: 16+
70+
no_plugin: true
71+
env:
72+
REGISTRY: "public.ecr.aws/q9t5s3a7"
73+
REPO: "vllm-ci-test-repo"
74+
source_file_dependencies:
75+
- .buildkite/hardware_tests/intel_xpu_ci/test-intel.yaml
76+
- .buildkite/scripts/hardware_ci/run-intel-ci-test.sh
77+
commands:
78+
- >-
79+
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
80+
'bash .buildkite/scripts/hardware_ci/run-intel-ci-test.sh server'

.buildkite/image_build/image_build.yaml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,60 @@ steps:
1212
- exit_status: -10 # Agent was lost
1313
limit: 2
1414

15+
- label: ":docker: :smoking: Non-root smoke tests"
16+
key: image-build-smoke-test
17+
depends_on:
18+
- image-build
19+
commands:
20+
# Smoke 1: the default (root) image must still be importable
21+
# under a non-root UID via `--user 2000:0`. Validates the `vllm` passwd
22+
# entry + group-0-writable /home/vllm + uv path cleanup from #31959.
23+
# Uses `import vllm` rather than `vllm serve --help` because the latter
24+
# instantiates `VllmConfig` which requires a GPU attached to the
25+
# container.
26+
- docker run --rm --user 2000:0 --entrypoint python3 "$IMAGE_TAG" -c "import vllm; print(vllm.__version__)"
27+
# Smoke 2: assert the non-root enabling invariants are baked
28+
# into the image. Runs as UID 2000:0 via a shell so we can verify
29+
# filesystem perms + passwd/group file state + wrapper presence without
30+
# triggering vLLM's GPU-requiring config-init path. The opt-in
31+
# `vllm-openai-nonroot` target adds only `USER vllm`, `WORKDIR
32+
# /home/vllm`, and an `ENTRYPOINT` override on top of these invariants;
33+
# its build correctness is reviewed at the Dockerfile level. Wrapper
34+
# logic is covered separately by the pre-commit hook
35+
# `test-nonroot-entrypoint` (see .pre-commit-config.yaml).
36+
- |
37+
docker run --rm --user 2000:0 --entrypoint /bin/sh "$IMAGE_TAG" -ec '
38+
if ! getent passwd 2000 | grep -q ^vllm:; then
39+
echo FAIL: UID 2000 != vllm
40+
exit 1
41+
fi
42+
if ! id -gn 2>/dev/null | grep -qx root; then
43+
echo FAIL: GID 0 not root group
44+
exit 1
45+
fi
46+
touch /home/vllm/.smoke && rm /home/vllm/.smoke
47+
touch /opt/uv/cache/.smoke && rm /opt/uv/cache/.smoke
48+
if ! test -x /usr/local/bin/vllm-nonroot-entrypoint.sh; then
49+
echo FAIL: wrapper missing
50+
exit 1
51+
fi
52+
if ! test -w /etc/passwd; then
53+
echo FAIL: /etc/passwd not group-writable
54+
exit 1
55+
fi
56+
if ! test -w /etc/group; then
57+
echo FAIL: /etc/group not group-writable
58+
exit 1
59+
fi
60+
echo non-root invariants OK
61+
'
62+
retry:
63+
automatic:
64+
- exit_status: -1 # Agent was lost
65+
limit: 2
66+
- exit_status: -10 # Agent was lost
67+
limit: 2
68+
1569
- label: ":docker: Build CPU image"
1670
key: image-build-cpu
1771
depends_on: []
@@ -55,3 +109,21 @@ steps:
55109
limit: 2
56110
- exit_status: -10 # Agent was lost
57111
limit: 2
112+
113+
- label: ":docker: Build arm64 image"
114+
key: arm64-image-build
115+
depends_on: []
116+
source_file_dependencies:
117+
- ".buildkite/image_build/image_build.yaml"
118+
- ".buildkite/image_build/image_build_arm64.sh"
119+
- "docker/Dockerfile"
120+
commands:
121+
- .buildkite/image_build/image_build_arm64.sh $REGISTRY $REPO $BUILDKITE_COMMIT
122+
env:
123+
DOCKER_BUILDKIT: "1"
124+
retry:
125+
automatic:
126+
- exit_status: -1 # Agent was lost
127+
limit: 2
128+
- exit_status: -10 # Agent was lost
129+
limit: 2

0 commit comments

Comments
 (0)