Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
ea3370b4
Unverified
Commit
ea3370b4
authored
Nov 28, 2025
by
Andreas Karatzas
Committed by
GitHub
Nov 29, 2025
Browse files
[ROCm][Bugfix] Patch for the `Multi-Modal Processor Test` group (#29702)
Signed-off-by:
Andreas Karatzas
<
akaratza@amd.com
>
parent
c625d7b1
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
104 additions
and
28 deletions
+104
-28
docker/Dockerfile.rocm
docker/Dockerfile.rocm
+18
-1
docker/Dockerfile.rocm_base
docker/Dockerfile.rocm_base
+22
-4
requirements/rocm-test.txt
requirements/rocm-test.txt
+56
-22
tests/models/multimodal/processing/test_tensor_schema.py
tests/models/multimodal/processing/test_tensor_schema.py
+8
-1
No files found.
docker/Dockerfile.rocm
View file @
ea3370b4
...
@@ -65,6 +65,8 @@ COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tests /tests
...
@@ -65,6 +65,8 @@ COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tests /tests
COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/examples /examples
COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/examples /examples
COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile.rocm /docker/
COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile.rocm /docker/
COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/.buildkite /.buildkite
COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/.buildkite /.buildkite
# Centralized v1 package - copied to both test and final stages
COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/vllm/v1 /vllm_v1
# -----------------------
# -----------------------
# Test vLLM image
# Test vLLM image
...
@@ -88,10 +90,22 @@ COPY --from=build_vllm ${COMMON_WORKDIR}/vllm /vllm-workspace
...
@@ -88,10 +90,22 @@ COPY --from=build_vllm ${COMMON_WORKDIR}/vllm /vllm-workspace
# install development dependencies (for testing)
# install development dependencies (for testing)
RUN cd /vllm-workspace \
RUN cd /vllm-workspace \
&& rm -rf vllm \
&& python3 -m pip install -e tests/vllm_test_utils \
&& python3 -m pip install -e tests/vllm_test_utils \
&& python3 -m pip install pytest-shard
&& python3 -m pip install pytest-shard
# enable fast downloads from hf (for testing)
RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install --system hf_transfer
ENV HF_HUB_ENABLE_HF_TRANSFER=1
# Copy in the v1 package
COPY --from=export_vllm /vllm_v1 /usr/local/lib/python${PYTHON_VERSION}/dist-packages/vllm/v1
# Source code is used in the `python_only_compile.sh` test
# We hide it inside `src/` so that this source code
# will not be imported by other tests
RUN mkdir src && mv vllm src/vllm
# -----------------------
# -----------------------
# Final vLLM image
# Final vLLM image
FROM base AS final
FROM base AS final
...
@@ -116,6 +130,9 @@ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \
...
@@ -116,6 +130,9 @@ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \
&& pip uninstall -y vllm \
&& pip uninstall -y vllm \
&& uv pip install --system *.whl
&& uv pip install --system *.whl
# Copy in the v1 package
COPY --from=export_vllm /vllm_v1 /usr/local/lib/python${PYTHON_VERSION}/dist-packages/vllm/v1
ARG COMMON_WORKDIR
ARG COMMON_WORKDIR
# Copy over the benchmark scripts as well
# Copy over the benchmark scripts as well
...
...
docker/Dockerfile.rocm_base
View file @
ea3370b4
...
@@ -5,6 +5,8 @@ ARG PYTORCH_BRANCH="1c57644d"
...
@@ -5,6 +5,8 @@ ARG PYTORCH_BRANCH="1c57644d"
ARG PYTORCH_VISION_BRANCH="v0.23.0"
ARG PYTORCH_VISION_BRANCH="v0.23.0"
ARG PYTORCH_REPO="https://github.com/ROCm/pytorch.git"
ARG PYTORCH_REPO="https://github.com/ROCm/pytorch.git"
ARG PYTORCH_VISION_REPO="https://github.com/pytorch/vision.git"
ARG PYTORCH_VISION_REPO="https://github.com/pytorch/vision.git"
ARG PYTORCH_AUDIO_BRANCH="v2.9.0"
ARG PYTORCH_AUDIO_REPO="https://github.com/pytorch/audio.git"
ARG FA_BRANCH="0e60e394"
ARG FA_BRANCH="0e60e394"
ARG FA_REPO="https://github.com/Dao-AILab/flash-attention.git"
ARG FA_REPO="https://github.com/Dao-AILab/flash-attention.git"
ARG AITER_BRANCH="59bd8ff2"
ARG AITER_BRANCH="59bd8ff2"
...
@@ -23,6 +25,7 @@ ENV AITER_ROCM_ARCH=gfx942;gfx950
...
@@ -23,6 +25,7 @@ ENV AITER_ROCM_ARCH=gfx942;gfx950
ENV HSA_NO_SCRATCH_RECLAIM=1
ENV HSA_NO_SCRATCH_RECLAIM=1
ARG PYTHON_VERSION=3.12
ARG PYTHON_VERSION=3.12
ENV PYTHON_VERSION=${PYTHON_VERSION}
RUN mkdir -p /app
RUN mkdir -p /app
WORKDIR /app
WORKDIR /app
...
@@ -45,6 +48,7 @@ RUN apt-get update -y \
...
@@ -45,6 +48,7 @@ RUN apt-get update -y \
&& python3 --version && python3 -m pip --version
&& python3 --version && python3 -m pip --version
RUN pip install -U packaging 'cmake<4' ninja wheel 'setuptools<80' pybind11 Cython
RUN pip install -U packaging 'cmake<4' ninja wheel 'setuptools<80' pybind11 Cython
RUN apt-get update && apt-get install -y libjpeg-dev libsox-dev libsox-fmt-all sox && rm -rf /var/lib/apt/lists/*
FROM base AS build_triton
FROM base AS build_triton
ARG TRITON_BRANCH
ARG TRITON_BRANCH
...
@@ -66,11 +70,14 @@ RUN mkdir -p /app/install && cp /opt/rocm/share/amd_smi/dist/*.whl /app/install
...
@@ -66,11 +70,14 @@ RUN mkdir -p /app/install && cp /opt/rocm/share/amd_smi/dist/*.whl /app/install
FROM base AS build_pytorch
FROM base AS build_pytorch
ARG PYTORCH_BRANCH
ARG PYTORCH_BRANCH
ARG PYTORCH_VISION_BRANCH
ARG PYTORCH_VISION_BRANCH
ARG PYTORCH_AUDIO_BRANCH
ARG PYTORCH_REPO
ARG PYTORCH_REPO
ARG PYTORCH_VISION_REPO
ARG PYTORCH_VISION_REPO
ARG PYTORCH_AUDIO_REPO
RUN git clone ${PYTORCH_REPO} pytorch
RUN git clone ${PYTORCH_REPO} pytorch
RUN cd pytorch && git checkout ${PYTORCH_BRANCH}
&&
\
RUN cd pytorch && git checkout ${PYTORCH_BRANCH} \
pip install -r requirements.txt && git submodule update --init --recursive \
&&
pip install -r requirements.txt && git submodule update --init --recursive \
&& python3 tools/amd_build/build_amd.py \
&& python3 tools/amd_build/build_amd.py \
&& CMAKE_PREFIX_PATH=$(python3 -c 'import sys; print(sys.prefix)') python3 setup.py bdist_wheel --dist-dir=dist \
&& CMAKE_PREFIX_PATH=$(python3 -c 'import sys; print(sys.prefix)') python3 setup.py bdist_wheel --dist-dir=dist \
&& pip install dist/*.whl
&& pip install dist/*.whl
...
@@ -78,8 +85,15 @@ RUN git clone ${PYTORCH_VISION_REPO} vision
...
@@ -78,8 +85,15 @@ RUN git clone ${PYTORCH_VISION_REPO} vision
RUN cd vision && git checkout ${PYTORCH_VISION_BRANCH} \
RUN cd vision && git checkout ${PYTORCH_VISION_BRANCH} \
&& python3 setup.py bdist_wheel --dist-dir=dist \
&& python3 setup.py bdist_wheel --dist-dir=dist \
&& pip install dist/*.whl
&& pip install dist/*.whl
RUN git clone ${PYTORCH_AUDIO_REPO} audio
RUN cd audio && git checkout ${PYTORCH_AUDIO_BRANCH} \
&& git submodule update --init --recursive \
&& pip install -r requirements.txt \
&& python3 setup.py bdist_wheel --dist-dir=dist \
&& pip install dist/*.whl
RUN mkdir -p /app/install && cp /app/pytorch/dist/*.whl /app/install \
RUN mkdir -p /app/install && cp /app/pytorch/dist/*.whl /app/install \
&& cp /app/vision/dist/*.whl /app/install
&& cp /app/vision/dist/*.whl /app/install \
&& cp /app/audio/dist/*.whl /app/install
FROM base AS build_fa
FROM base AS build_fa
ARG FA_BRANCH
ARG FA_BRANCH
...
@@ -130,6 +144,8 @@ ARG PYTORCH_BRANCH
...
@@ -130,6 +144,8 @@ ARG PYTORCH_BRANCH
ARG PYTORCH_VISION_BRANCH
ARG PYTORCH_VISION_BRANCH
ARG PYTORCH_REPO
ARG PYTORCH_REPO
ARG PYTORCH_VISION_REPO
ARG PYTORCH_VISION_REPO
ARG PYTORCH_AUDIO_BRANCH
ARG PYTORCH_AUDIO_REPO
ARG FA_BRANCH
ARG FA_BRANCH
ARG FA_REPO
ARG FA_REPO
ARG AITER_BRANCH
ARG AITER_BRANCH
...
@@ -141,6 +157,8 @@ RUN echo "BASE_IMAGE: ${BASE_IMAGE}" > /app/versions.txt \
...
@@ -141,6 +157,8 @@ RUN echo "BASE_IMAGE: ${BASE_IMAGE}" > /app/versions.txt \
&& echo "PYTORCH_VISION_BRANCH: ${PYTORCH_VISION_BRANCH}" >> /app/versions.txt \
&& echo "PYTORCH_VISION_BRANCH: ${PYTORCH_VISION_BRANCH}" >> /app/versions.txt \
&& echo "PYTORCH_REPO: ${PYTORCH_REPO}" >> /app/versions.txt \
&& echo "PYTORCH_REPO: ${PYTORCH_REPO}" >> /app/versions.txt \
&& echo "PYTORCH_VISION_REPO: ${PYTORCH_VISION_REPO}" >> /app/versions.txt \
&& echo "PYTORCH_VISION_REPO: ${PYTORCH_VISION_REPO}" >> /app/versions.txt \
&& echo "PYTORCH_AUDIO_BRANCH: ${PYTORCH_AUDIO_BRANCH}" >> /app/versions.txt \
&& echo "PYTORCH_AUDIO_REPO: ${PYTORCH_AUDIO_REPO}" >> /app/versions.txt \
&& echo "FA_BRANCH: ${FA_BRANCH}" >> /app/versions.txt \
&& echo "FA_BRANCH: ${FA_BRANCH}" >> /app/versions.txt \
&& echo "FA_REPO: ${FA_REPO}" >> /app/versions.txt \
&& echo "FA_REPO: ${FA_REPO}" >> /app/versions.txt \
&& echo "AITER_BRANCH: ${AITER_BRANCH}" >> /app/versions.txt \
&& echo "AITER_BRANCH: ${AITER_BRANCH}" >> /app/versions.txt \
...
...
requirements/rocm-test.txt
View file @
ea3370b4
# Common dependencies
# Common dependencies
-r common.txt
-r common.txt
# Test infrastructure
tblib==3.1.0
tblib==3.1.0
bm25s==0.2.13
pytest==8.3.5
pystemmer==3.0.0
pytest-asyncio==0.24.0
pytest-timeout==2.3.1
pytest-cov==6.3.0
pytest-forked==1.6.0
pytest-rerunfailures==14.0
pytest-shard==0.1.2
# Async/HTTP dependencies
anyio==4.6.2.post1
# via httpx, starlette
aiohttp==3.13.0
# via gpt-oss
httpx==0.27.2
# HTTP testing
# Entrypoints test
# Audio processing dependencies
# librosa==0.10.2.post1 # required by audio tests in entrypoints/openai
audioread==3.0.1
audioread==3.0.1
# via librosa
cffi==1.17.1
cffi==1.17.1
# via soundfile
decorator==5.2.1
decorator==5.2.1
# via librosa
lazy-loader==0.4
lazy-loader==0.4
# via librosa
platformdirs==4.3.6
platformdirs==4.3.6
# via pooch
pooch==1.8.2
pooch==1.8.2
#pycparse==2.22
# via librosa
soundfile==0.13.1
soundfile==0.13.1
# via librosa
soxr==0.5.0.post1
soxr==0.5.0.post1
# via librosa
librosa==0.10.2.post1
librosa==0.10.2.post1
# Entrypoints test
# Retrieval and search
#vllm[video] # required by entrypoints/openai/test_video.py
bm25s==0.2.13
decord==0.6.0
# via mteb
pystemmer==3.0.0
# Entrypoints test
# via mteb
#sentence-transformers # required by entrypoints/openai/test_score.py
sentence-transformers==3.4.1
# Basic Models Test
matplotlib==3.10.3
# Multi-
M
odal
Models Test (Extended) 3
# Multi-
m
odal
processing
blobfile==3.0.0
blobfile==3.0.0
# Multi-Modal Models Test
decord==0.6.0
# video processing, required by entrypoints/openai/test_video.py
# Required for openai schema test.
# OpenAI compatibility and testing
gpt-oss==0.0.8
# OpenAI compatibility tests
schemathesis==3.39.15
schemathesis==3.39.15
# OpenAI schema test
# Required for mteb test
# Evaluation and benchmarking
mteb[bm25s]>=1.38.11, <2
# Required for eval tests
lm-eval[api] @ git+https://github.com/EleutherAI/lm-evaluation-harness.git@206b7722158f58c35b7ffcd53b035fdbdda5126d
lm-eval[api] @ git+https://github.com/EleutherAI/lm-evaluation-harness.git@206b7722158f58c35b7ffcd53b035fdbdda5126d
# Required for multiprocessed tests that use spawn method
# Required for multiprocessed tests that use spawn method
, Datasets and Evaluate Test
multiprocess==0.70.16
multiprocess==0.70.16
# Plugins test
# Plugins test
terratorch @ git+https://github.com/IBM/terratorch.git@07184fcf91a1324f831ff521dd238d97fe350e3e
terratorch @ git+https://github.com/IBM/terratorch.git@07184fcf91a1324f831ff521dd238d97fe350e3e
torchgeo==0.7.0
torchgeo==0.7.0
# via terratorch
# MTEB Benchmark Test
mteb==2.1.2
# Data processing
xgrammar @ git+https://github.com/mlc-ai/xgrammar.git@eafd4db51b78acc64b3f0764ef27dfd206c28628
# Test async scheduling
# Utilities
num2words==0.5.14
# via lm-eval
pqdm==0.2.0
# via lm-eval
# Required for suffix decoding test
# Required for suffix decoding test
arctic-inference == 0.1.1
arctic-inference == 0.1.1
# Required for Nemotron test
open-clip-torch==2.32.0
tests/models/multimodal/processing/test_tensor_schema.py
View file @
ea3370b4
...
@@ -30,6 +30,7 @@ from vllm.model_executor.models.interfaces import (
...
@@ -30,6 +30,7 @@ from vllm.model_executor.models.interfaces import (
from
vllm.multimodal
import
MULTIMODAL_REGISTRY
,
BatchedTensorInputs
from
vllm.multimodal
import
MULTIMODAL_REGISTRY
,
BatchedTensorInputs
from
vllm.multimodal.processing
import
BaseMultiModalProcessor
,
InputProcessingContext
from
vllm.multimodal.processing
import
BaseMultiModalProcessor
,
InputProcessingContext
from
vllm.multimodal.utils
import
group_mm_kwargs_by_modality
from
vllm.multimodal.utils
import
group_mm_kwargs_by_modality
from
vllm.platforms
import
current_platform
from
vllm.transformers_utils.tokenizer
import
cached_tokenizer_from_config
from
vllm.transformers_utils.tokenizer
import
cached_tokenizer_from_config
from
vllm.utils.collection_utils
import
is_list_of
from
vllm.utils.collection_utils
import
is_list_of
from
vllm.utils.torch_utils
import
set_default_torch_dtype
from
vllm.utils.torch_utils
import
set_default_torch_dtype
...
@@ -176,6 +177,12 @@ def test_model_tensor_schema(model_id: str):
...
@@ -176,6 +177,12 @@ def test_model_tensor_schema(model_id: str):
exist_overrides
=
model_info
.
hf_overrides
,
exist_overrides
=
model_info
.
hf_overrides
,
)
)
# ROCm: Detect if model uses AWQ quantization and set appropriate dtype
if
"awq"
in
model_id
.
lower
()
and
current_platform
.
is_rocm
():
dtype
=
"float16"
else
:
dtype
=
model_info
.
dtype
model_config
=
ModelConfig
(
model_config
=
ModelConfig
(
model_id
,
model_id
,
tokenizer
=
model_info
.
tokenizer
or
model_id
,
tokenizer
=
model_info
.
tokenizer
or
model_id
,
...
@@ -187,7 +194,7 @@ def test_model_tensor_schema(model_id: str):
...
@@ -187,7 +194,7 @@ def test_model_tensor_schema(model_id: str):
enable_prompt_embeds
=
model_info
.
require_embed_inputs
,
enable_prompt_embeds
=
model_info
.
require_embed_inputs
,
enable_mm_embeds
=
model_info
.
require_embed_inputs
,
enable_mm_embeds
=
model_info
.
require_embed_inputs
,
enforce_eager
=
model_info
.
enforce_eager
,
enforce_eager
=
model_info
.
enforce_eager
,
dtype
=
model_info
.
dtype
,
dtype
=
dtype
,
)
)
model_cls
=
MULTIMODAL_REGISTRY
.
_get_model_cls
(
model_config
)
model_cls
=
MULTIMODAL_REGISTRY
.
_get_model_cls
(
model_config
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment