@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / d71a15041f
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 5, 18:30 UTC

[XPU]move testing dependencies from Dockerfile to xpu-test.in (#38596)

Signed-off-by: sihao.li <sihao.li@intel.com> Co-authored-by: Kunshang Ji <kunshang.ji@intel.com>

sihao_li committed Mar 31, 2026 at 20:49 UTC d71a15041f093df34ae0ce1fabd146575f0d0294
3 files changed +730 -38
docker/Dockerfile.xpu
+2 -5
@@ -111,12 +111,9 @@ CMD ["/bin/bash"]
111
112 FROM vllm-base AS vllm-openai
113
114 -# install additional dependencies for openai api server
115 -RUN --mount=type=cache,target=/root/.cache/uv \
116 - uv pip install accelerate hf_transfer pytest pytest_asyncio lm_eval[api] modelscope
117 -
114 # install development dependencies (for testing)
119 -RUN uv pip install -e tests/vllm_test_utils
115 +RUN --mount=type=cache,target=/root/.cache/uv \
116 + uv pip install -e tests/vllm_test_utils
117
118 # install NIXL and UCX from source code
119 ARG UCX_VERSION=e5d98879705239d254ede40b4a52891850cb5349
requirements/xpu-test.in
+7
@@ -1,5 +1,7 @@
1 # --- Test Infrastructure ---
2 tblib
3 +pytest
4 +pytest_asyncio
5 pytest-timeout
6 pytest-cov
7 pytest-forked
@@ -7,8 +9,13 @@ pytest-rerunfailures
9 pytest-shard
10
11 # --- Core Tools & Bindings ---
12 +
13 absl-py
14 +accelerate
15 arctic-inference
16 +hf_transfer
17 +lm_eval[api]
18 +modelscope
19
20 # --- Audio Processing ---
21 librosa
requirements/xpu-test.txt
+721 -33
@@ -1,42 +1,730 @@
1 -# XPU Test Dependencies
2 -# NOTE: Base image already has common.txt + xpu.txt installed,
3 -# and vllm-openai stage has pytest, pytest-asyncio, lm-eval[api].
4 -# This file only adds incremental test-specific packages.
5 -
6 -# Additional test infrastructure (pytest/pytest-asyncio already in base)
1 # This file was autogenerated by uv via the following command:
8 -# uv pip compile /workspace/vllm/requirements/xpu-test.in -o /workspace/vllm/requirements/xpu-test.txt -c /workspace/vllm/requirements/xpu.txt --index-strategy unsafe-best-match --extra-index-url ${PIP_EXTRA_INDEX_URL} --python-version ${PYTHON_VERSION}
9 -tblib==3.1.0
10 -pytest-timeout==2.3.1
11 -pytest-cov==6.3.0
12 -pytest-forked==1.6.0
13 -pytest-rerunfailures==14.0
14 -pytest-shard==0.1.2
15 -
2 +# uv pip compile requirements/xpu-test.in -o requirements/xpu-test.txt -c requirements/xpu.txt --python-version 3.12 --index-strategy unsafe-best-match
3 +absl-py==2.4.0
4 + # via
5 + # -r requirements/xpu-test.in
6 + # rouge-score
7 +accelerate==1.13.0
8 + # via -r requirements/xpu-test.in
9 +aiohappyeyeballs==2.6.1
10 + # via aiohttp
11 +aiohttp==3.13.4
12 + # via
13 + # -c requirements/common.txt
14 + # fsspec
15 + # gpt-oss
16 + # lm-eval
17 +aiosignal==1.4.0
18 + # via aiohttp
19 +albumentations==1.4.6
20 + # via -r requirements/xpu-test.in
21 +annotated-doc==0.0.4
22 + # via fastapi
23 +annotated-types==0.7.0
24 + # via pydantic
25 +anyio==4.13.0
26 + # via
27 + # httpx
28 + # starlette
29 arctic-inference==0.1.1
17 -
18 -# Required for audio processing tests
19 -librosa==0.10.2.post1
30 + # via -r requirements/xpu-test.in
31 +attrs==26.1.0
32 + # via
33 + # aiohttp
34 + # jsonlines
35 + # jsonschema
36 + # referencing
37 audioread==3.0.1
21 -soxr==0.5.0.post1
22 -pooch==1.8.2
23 -soundfile==0.13.1
24 -
25 -# Required for Mistral's streaming tool parser
38 + # via
39 + # -r requirements/xpu-test.in
40 + # librosa
41 blobfile==3.0.0
27 -rapidfuzz==3.12.1
28 -
29 -# Required for Mistral's streaming tool parser and some evaluation scripts
42 + # via -r requirements/xpu-test.in
43 +bm25s==0.2.13
44 + # via
45 + # -r requirements/xpu-test.in
46 + # mteb
47 +bounded-pool-executor==0.0.3
48 + # via pqdm
49 +certifi==2026.2.25
50 + # via
51 + # httpcore
52 + # httpx
53 + # requests
54 +cffi==2.0.0
55 + # via soundfile
56 +chardet==5.2.0
57 + # via mbstrdecoder
58 +charset-normalizer==3.4.6
59 + # via requests
60 +chz==0.4.0
61 + # via gpt-oss
62 +click==8.3.1
63 + # via
64 + # jiwer
65 + # nltk
66 + # schemathesis
67 + # uvicorn
68 +colorama==0.4.6
69 + # via sacrebleu
70 +coverage==7.13.5
71 + # via pytest-cov
72 +dataproperty==1.1.0
73 + # via
74 + # pytablewriter
75 + # tabledata
76 +datasets==4.8.4
77 + # via
78 + # evaluate
79 + # lm-eval
80 + # mteb
81 +decorator==5.2.1
82 + # via librosa
83 +dill==0.4.1
84 + # via
85 + # datasets
86 + # evaluate
87 + # lm-eval
88 + # multiprocess
89 +docker==7.1.0
90 + # via gpt-oss
91 +docopt==0.6.2
92 + # via num2words
93 +dpcpp-cpp-rt==2025.3.1
94 + # via
95 + # onemkl-sycl-blas
96 + # onemkl-sycl-dft
97 + # onemkl-sycl-lapack
98 + # onemkl-sycl-rng
99 + # onemkl-sycl-sparse
100 + # torch
101 +evaluate==0.4.6
102 + # via lm-eval
103 +fastapi==0.135.2
104 + # via
105 + # -c requirements/common.txt
106 + # gpt-oss
107 +filelock==3.25.2
108 + # via
109 + # -c requirements/common.txt
110 + # blobfile
111 + # datasets
112 + # huggingface-hub
113 + # modelscope
114 + # torch
115 + # transformers
116 +frozenlist==1.8.0
117 + # via
118 + # aiohttp
119 + # aiosignal
120 +fsspec==2026.2.0
121 + # via
122 + # datasets
123 + # evaluate
124 + # huggingface-hub
125 + # torch
126 gpt-oss==0.0.8
31 -schemathesis==3.39.15
127 + # via -r requirements/xpu-test.in
128 +graphql-core==3.2.8
129 + # via hypothesis-graphql
130 +h11==0.16.0
131 + # via
132 + # httpcore
133 + # uvicorn
134 +harfile==0.4.0
135 + # via schemathesis
136 +hf-transfer==0.1.9
137 + # via -r requirements/xpu-test.in
138 +hf-xet==1.4.2
139 + # via huggingface-hub
140 +html2text==2025.4.15
141 + # via gpt-oss
142 +httpcore==1.0.9
143 + # via httpx
144 +httpx==0.28.1
145 + # via
146 + # datasets
147 + # schemathesis
148 +huggingface-hub==0.36.2
149 + # via
150 + # accelerate
151 + # datasets
152 + # evaluate
153 + # sentence-transformers
154 + # timm
155 + # tokenizers
156 + # transformers
157 +hypothesis==6.151.10
158 + # via
159 + # hypothesis-graphql
160 + # hypothesis-jsonschema
161 + # schemathesis
162 +hypothesis-graphql==0.12.0
163 + # via schemathesis
164 +hypothesis-jsonschema==0.23.1
165 + # via schemathesis
166 +idna==3.11
167 + # via
168 + # anyio
169 + # httpx
170 + # requests
171 + # yarl
172 +imageio==2.37.3
173 + # via scikit-image
174 +impi-rt==2021.17.0
175 + # via
176 + # oneccl
177 + # torch
178 +iniconfig==2.3.0
179 + # via pytest
180 +intel-cmplr-lib-rt==2025.3.1
181 + # via
182 + # intel-sycl-rt
183 + # torch
184 +intel-cmplr-lib-ur==2025.3.1
185 + # via
186 + # intel-openmp
187 + # intel-sycl-rt
188 + # torch
189 +intel-cmplr-lic-rt==2025.3.1
190 + # via
191 + # intel-opencl-rt
192 + # intel-sycl-rt
193 + # torch
194 +intel-opencl-rt==2025.3.1
195 + # via
196 + # dpcpp-cpp-rt
197 + # onemkl-sycl-blas
198 + # onemkl-sycl-dft
199 + # onemkl-sycl-lapack
200 + # onemkl-sycl-rng
201 + # onemkl-sycl-sparse
202 + # torch
203 +intel-openmp==2025.3.1
204 + # via
205 + # dpcpp-cpp-rt
206 + # mkl
207 + # torch
208 +intel-pti==0.15.0
209 + # via torch
210 +intel-sycl-rt==2025.3.1
211 + # via
212 + # dpcpp-cpp-rt
213 + # oneccl
214 + # torch
215 +jinja2==3.1.6
216 + # via
217 + # -c requirements/xpu.txt
218 + # lm-eval
219 + # torch
220 jiwer==4.0.0
33 -bm25s==0.2.13
34 -pystemmer==3.0.0
35 -mteb[bm25s]>=2, <3
221 + # via -r requirements/xpu-test.in
222 +joblib==1.5.3
223 + # via
224 + # librosa
225 + # nltk
226 + # scikit-learn
227 +jsonlines==4.0.0
228 + # via lm-eval
229 +jsonschema==4.26.0
230 + # via
231 + # hypothesis-jsonschema
232 + # mistral-common
233 + # schemathesis
234 +jsonschema-rs==0.45.0
235 + # via schemathesis
236 +jsonschema-specifications==2025.9.1
237 + # via jsonschema
238 +junit-xml==1.9
239 + # via schemathesis
240 +lazy-loader==0.5
241 + # via
242 + # librosa
243 + # scikit-image
244 +librosa==0.10.2.post1
245 + # via -r requirements/xpu-test.in
246 +llvmlite==0.44.0
247 + # via numba
248 +lm-eval==0.4.11
249 + # via -r requirements/xpu-test.in
250 +lxml==6.0.2
251 + # via
252 + # blobfile
253 + # gpt-oss
254 + # sacrebleu
255 +markdown-it-py==4.0.0
256 + # via rich
257 +markupsafe==3.0.3
258 + # via
259 + # jinja2
260 + # werkzeug
261 +mbstrdecoder==1.1.4
262 + # via
263 + # dataproperty
264 + # pytablewriter
265 + # typepy
266 +mdurl==0.1.2
267 + # via markdown-it-py
268 +mistral-common==1.10.0
269 + # via
270 + # -c requirements/common.txt
271 + # -r requirements/xpu-test.in
272 +mkl==2025.3.0
273 + # via
274 + # onemkl-sycl-blas
275 + # onemkl-sycl-dft
276 + # onemkl-sycl-lapack
277 + # onemkl-sycl-rng
278 + # onemkl-sycl-sparse
279 + # torch
280 +modelscope==1.35.3
281 + # via -r requirements/xpu-test.in
282 +more-itertools==10.8.0
283 + # via lm-eval
284 +mpmath==1.3.0
285 + # via sympy
286 +msgpack==1.1.2
287 + # via librosa
288 +mteb==2.12.7
289 + # via -r requirements/xpu-test.in
290 +multidict==6.7.1
291 + # via
292 + # aiohttp
293 + # yarl
294 +multiprocess==0.70.19
295 + # via
296 + # datasets
297 + # evaluate
298 +networkx==3.6.1
299 + # via
300 + # scikit-image
301 + # torch
302 +nltk==3.9.4
303 + # via rouge-score
304 num2words==0.5.14
305 + # via -r requirements/xpu-test.in
306 +numba==0.61.2
307 + # via
308 + # -c requirements/xpu.txt
309 + # librosa
310 +numpy==2.2.6
311 + # via
312 + # accelerate
313 + # albumentations
314 + # bm25s
315 + # datasets
316 + # evaluate
317 + # imageio
318 + # librosa
319 + # lm-eval
320 + # mistral-common
321 + # mteb
322 + # numba
323 + # opencv-python-headless
324 + # pandas
325 + # pytrec-eval-terrier
326 + # rouge-score
327 + # sacrebleu
328 + # scikit-image
329 + # scikit-learn
330 + # scipy
331 + # sentence-transformers
332 + # soundfile
333 + # soxr
334 + # tifffile
335 + # torchvision
336 + # transformers
337 +oneccl==2021.17.1
338 + # via
339 + # oneccl-devel
340 + # torch
341 +oneccl-devel==2021.17.1
342 + # via torch
343 +onemkl-license==2025.3.0
344 + # via
345 + # mkl
346 + # torch
347 +onemkl-sycl-blas==2025.3.0
348 + # via
349 + # onemkl-sycl-lapack
350 + # onemkl-sycl-sparse
351 + # torch
352 +onemkl-sycl-dft==2025.3.0
353 + # via torch
354 +onemkl-sycl-lapack==2025.3.0
355 + # via torch
356 +onemkl-sycl-rng==2025.3.0
357 + # via torch
358 +onemkl-sycl-sparse==2025.3.0
359 + # via torch
360 +openai-harmony==0.0.8
361 + # via
362 + # -c requirements/common.txt
363 + # gpt-oss
364 +opencv-python-headless==4.13.0.92
365 + # via
366 + # -c requirements/common.txt
367 + # albumentations
368 + # mistral-common
369 +packaging==26.0
370 + # via
371 + # -c requirements/xpu.txt
372 + # accelerate
373 + # datasets
374 + # evaluate
375 + # huggingface-hub
376 + # lazy-loader
377 + # modelscope
378 + # pooch
379 + # pytest
380 + # pytest-rerunfailures
381 + # scikit-image
382 + # transformers
383 + # typepy
384 +pandas==3.0.1
385 + # via
386 + # datasets
387 + # evaluate
388 +pathvalidate==3.3.1
389 + # via pytablewriter
390 +pillow==12.1.1
391 + # via
392 + # imageio
393 + # mistral-common
394 + # scikit-image
395 + # torchvision
396 +platformdirs==4.9.4
397 + # via pooch
398 +pluggy==1.6.0
399 + # via
400 + # pytest
401 + # pytest-cov
402 +polars==1.39.3
403 + # via mteb
404 +polars-runtime-32==1.39.3
405 + # via polars
406 +pooch==1.8.2
407 + # via
408 + # -r requirements/xpu-test.in
409 + # librosa
410 +portalocker==3.2.0
411 + # via sacrebleu
412 pqdm==0.2.0
38 -
39 -# Required for some evaluation scripts
413 + # via -r requirements/xpu-test.in
414 +propcache==0.4.1
415 + # via
416 + # aiohttp
417 + # yarl
418 +psutil==7.2.2
419 + # via accelerate
420 +py==1.11.0
421 + # via pytest-forked
422 +pyarrow==23.0.1
423 + # via datasets
424 +pycountry==26.2.16
425 + # via pydantic-extra-types
426 +pycparser==3.0
427 + # via cffi
428 +pycryptodomex==3.23.0
429 + # via blobfile
430 +pydantic==2.12.5
431 + # via
432 + # -c requirements/common.txt
433 + # albumentations
434 + # fastapi
435 + # gpt-oss
436 + # mistral-common
437 + # mteb
438 + # openai-harmony
439 + # pydantic-extra-types
440 +pydantic-core==2.41.5
441 + # via pydantic
442 +pydantic-extra-types==2.11.1
443 + # via mistral-common
444 +pyelftools==0.32
445 + # via triton-xpu
446 +pygments==2.20.0
447 + # via
448 + # pytest
449 + # rich
450 +pyrate-limiter==4.1.0
451 + # via schemathesis
452 +pystemmer==3.0.0
453 + # via
454 + # -r requirements/xpu-test.in
455 + # mteb
456 +pytablewriter==1.2.1
457 + # via lm-eval
458 +pytest==9.0.2
459 + # via
460 + # -r requirements/xpu-test.in
461 + # pytest-asyncio
462 + # pytest-cov
463 + # pytest-forked
464 + # pytest-rerunfailures
465 + # pytest-shard
466 + # pytest-timeout
467 + # schemathesis
468 +pytest-asyncio==1.3.0
469 + # via -r requirements/xpu-test.in
470 +pytest-cov==6.3.0
471 + # via -r requirements/xpu-test.in
472 +pytest-forked==1.6.0
473 + # via -r requirements/xpu-test.in
474 +pytest-rerunfailures==14.0
475 + # via -r requirements/xpu-test.in
476 +pytest-shard==0.1.2
477 + # via -r requirements/xpu-test.in
478 +pytest-timeout==2.3.1
479 + # via -r requirements/xpu-test.in
480 +python-dateutil==2.9.0.post0
481 + # via
482 + # pandas
483 + # typepy
484 +pytrec-eval-terrier==0.5.10
485 + # via mteb
486 +pytz==2026.1.post1
487 + # via typepy
488 +pyyaml==6.0.3
489 + # via
490 + # accelerate
491 + # albumentations
492 + # datasets
493 + # huggingface-hub
494 + # schemathesis
495 + # timm
496 + # transformers
497 +rapidfuzz==3.12.1
498 + # via
499 + # -r requirements/xpu-test.in
500 + # jiwer
501 +referencing==0.37.0
502 + # via
503 + # jsonschema
504 + # jsonschema-specifications
505 +regex==2026.3.32
506 + # via
507 + # nltk
508 + # sacrebleu
509 + # tiktoken
510 + # transformers
511 +requests==2.33.1
512 + # via
513 + # -c requirements/common.txt
514 + # datasets
515 + # docker
516 + # evaluate
517 + # gpt-oss
518 + # huggingface-hub
519 + # lm-eval
520 + # mistral-common
521 + # modelscope
522 + # mteb
523 + # pooch
524 + # schemathesis
525 + # starlette-testclient
526 + # tiktoken
527 + # transformers
528 +rich==14.3.3
529 + # via
530 + # mteb
531 + # schemathesis
532 +rouge-score==0.1.2
533 + # via lm-eval
534 +rpds-py==0.30.0
535 + # via
536 + # jsonschema
537 + # referencing
538 +sacrebleu==2.6.0
539 + # via lm-eval
540 +safetensors==0.7.0
541 + # via
542 + # accelerate
543 + # timm
544 + # transformers
545 +schemathesis==4.14.2
546 + # via -r requirements/xpu-test.in
547 +scikit-image==0.26.0
548 + # via albumentations
549 +scikit-learn==1.8.0
550 + # via
551 + # albumentations
552 + # librosa
553 + # lm-eval
554 + # mteb
555 + # sentence-transformers
556 +scipy==1.17.1
557 + # via
558 + # albumentations
559 + # bm25s
560 + # librosa
561 + # mteb
562 + # pytrec-eval-terrier
563 + # scikit-image
564 + # scikit-learn
565 + # sentence-transformers
566 +sentence-transformers==5.3.0
567 + # via mteb
568 +setuptools==80.10.2
569 + # via
570 + # -c requirements/common.txt
571 + # -c requirements/xpu.txt
572 + # modelscope
573 + # pytablewriter
574 + # torch
575 +six==1.17.0
576 + # via
577 + # -c requirements/common.txt
578 + # junit-xml
579 + # python-dateutil
580 + # rouge-score
581 +sortedcontainers==2.4.0
582 + # via hypothesis
583 +soundfile==0.13.1
584 + # via
585 + # -r requirements/xpu-test.in
586 + # librosa
587 + # mistral-common
588 +soxr==0.5.0.post1
589 + # via
590 + # -r requirements/xpu-test.in
591 + # librosa
592 + # mistral-common
593 +sqlitedict==2.1.0
594 + # via lm-eval
595 +starlette==1.0.0
596 + # via
597 + # fastapi
598 + # starlette-testclient
599 +starlette-testclient==0.4.1
600 + # via schemathesis
601 +structlog==25.5.0
602 + # via gpt-oss
603 +sympy==1.14.0
604 + # via torch
605 +tabledata==1.3.4
606 + # via pytablewriter
607 +tabulate==0.10.0
608 + # via sacrebleu
609 +tbb==2022.3.0
610 + # via
611 + # intel-opencl-rt
612 + # mkl
613 + # torch
614 +tblib==3.1.0
615 + # via -r requirements/xpu-test.in
616 +tcmlib==1.4.1
617 + # via
618 + # tbb
619 + # torch
620 + # umf
621 +tcolorpy==0.1.7
622 + # via pytablewriter
623 +tenacity==9.1.4
624 + # via
625 + # gpt-oss
626 + # lm-eval
627 + # schemathesis
628 +termcolor==3.3.0
629 + # via gpt-oss
630 +threadpoolctl==3.6.0
631 + # via scikit-learn
632 +tifffile==2026.3.3
633 + # via scikit-image
634 +tiktoken==0.12.0
635 + # via
636 + # -c requirements/common.txt
637 + # gpt-oss
638 + # lm-eval
639 + # mistral-common
640 timm==1.0.17
41 -albumentations==1.4.6
42 -mistral-common[image,audio]==1.9.1
\ No newline at end of file
641 + # via -r requirements/xpu-test.in
642 +tokenizers==0.22.2
643 + # via
644 + # -c requirements/common.txt
645 + # transformers
646 +torch==2.10.0+xpu
647 + # via
648 + # -c requirements/xpu.txt
649 + # accelerate
650 + # mteb
651 + # sentence-transformers
652 + # timm
653 + # torchvision
654 +torchvision==0.25.0+xpu
655 + # via timm
656 +tqdm==4.67.3
657 + # via
658 + # datasets
659 + # evaluate
660 + # huggingface-hub
661 + # lm-eval
662 + # modelscope
663 + # mteb
664 + # nltk
665 + # pqdm
666 + # sentence-transformers
667 + # transformers
668 +transformers==4.57.6
669 + # via
670 + # -c requirements/common.txt
671 + # sentence-transformers
672 +triton-xpu==3.6.0
673 + # via torch
674 +typepy==1.3.4
675 + # via
676 + # dataproperty
677 + # pytablewriter
678 + # tabledata
679 +typing-extensions==4.15.0
680 + # via
681 + # -c requirements/common.txt
682 + # aiosignal
683 + # albumentations
684 + # anyio
685 + # chz
686 + # fastapi
687 + # huggingface-hub
688 + # librosa
689 + # lm-eval
690 + # mistral-common
691 + # mteb
692 + # pqdm
693 + # pydantic
694 + # pydantic-core
695 + # pydantic-extra-types
696 + # pytest-asyncio
697 + # referencing
698 + # schemathesis
699 + # sentence-transformers
700 + # starlette
701 + # torch
702 + # typing-inspection
703 +typing-inspection==0.4.2
704 + # via
705 + # fastapi
706 + # pydantic
707 +umf==1.0.2
708 + # via
709 + # intel-cmplr-lib-ur
710 + # torch
711 +urllib3==2.6.3
712 + # via
713 + # blobfile
714 + # docker
715 + # modelscope
716 + # requests
717 +uvicorn==0.42.0
718 + # via gpt-oss
719 +werkzeug==3.1.7
720 + # via schemathesis
721 +word2number==1.1
722 + # via lm-eval
723 +xxhash==3.6.0
724 + # via
725 + # datasets
726 + # evaluate
727 +yarl==1.23.0
728 + # via aiohttp
729 +zstandard==0.25.0
730 + # via lm-eval