Move requirements into their own directory (#12547)

Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
This commit is contained in:
Harry Mellor 2025-03-08 17:44:35 +01:00 committed by GitHub
parent e02883c400
commit 206e2577fa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
50 changed files with 125 additions and 128 deletions

View File

@ -426,7 +426,7 @@ main() {
pip install -U transformers pip install -U transformers
pip install -r requirements-dev.txt pip install -r requirements/dev.txt
which genai-perf which genai-perf
# check storage # check storage

View File

@ -35,7 +35,7 @@ function cpu_tests() {
# Run basic model test # Run basic model test
docker exec cpu-test-"$BUILDKITE_BUILD_NUMBER"-"$NUMA_NODE" bash -c " docker exec cpu-test-"$BUILDKITE_BUILD_NUMBER"-"$NUMA_NODE" bash -c "
set -e set -e
pip install -r vllm/requirements-test.txt pip install -r vllm/requirements/test.txt
pytest -v -s tests/models/decoder_only/language -m cpu_model pytest -v -s tests/models/decoder_only/language -m cpu_model
pytest -v -s tests/models/embedding/language -m cpu_model pytest -v -s tests/models/embedding/language -m cpu_model
pytest -v -s tests/models/encoder_decoder/language -m cpu_model pytest -v -s tests/models/encoder_decoder/language -m cpu_model

View File

@ -35,7 +35,7 @@ steps:
fast_check: true fast_check: true
no_gpu: True no_gpu: True
commands: commands:
- pip install -r requirements-docs.txt - pip install -r ../../requirements/docs.txt
- SPHINXOPTS=\"-W\" make html - SPHINXOPTS=\"-W\" make html
# Check API reference (if it fails, you may have missing mock imports) # Check API reference (if it fails, you may have missing mock imports)
- grep \"sig sig-object py\" build/html/api/inference_params.html - grep \"sig sig-object py\" build/html/api/inference_params.html

View File

@ -50,7 +50,7 @@ jobs:
# matrix: # matrix:
# os: ['ubuntu-20.04'] # os: ['ubuntu-20.04']
# python-version: ['3.9', '3.10', '3.11', '3.12'] # python-version: ['3.9', '3.10', '3.11', '3.12']
# pytorch-version: ['2.4.0'] # Must be the most recent version that meets requirements-cuda.txt. # pytorch-version: ['2.4.0'] # Must be the most recent version that meets requirements/cuda.txt.
# cuda-version: ['11.8', '12.1'] # cuda-version: ['11.8', '12.1']
# steps: # steps:

View File

@ -9,7 +9,7 @@ PATH=${cuda_home}/bin:$PATH
LD_LIBRARY_PATH=${cuda_home}/lib64:$LD_LIBRARY_PATH LD_LIBRARY_PATH=${cuda_home}/lib64:$LD_LIBRARY_PATH
# Install requirements # Install requirements
$python_executable -m pip install -r requirements-build.txt -r requirements-cuda.txt $python_executable -m pip install -r requirements/build.txt -r requirements/cuda.txt
# Limit the number of parallel jobs to avoid OOM # Limit the number of parallel jobs to avoid OOM
export MAX_JOBS=1 export MAX_JOBS=1

View File

@ -44,8 +44,8 @@ repos:
rev: 0.6.2 rev: 0.6.2
hooks: hooks:
- id: pip-compile - id: pip-compile
args: [requirements-test.in, -o, requirements-test.txt] args: [requirements/test.in, -o, requirements/test.txt]
files: ^requirements-test\.(in|txt)$ files: ^requirements/test\.(in|txt)$
- repo: local - repo: local
hooks: hooks:
- id: mypy-local - id: mypy-local

View File

@ -18,4 +18,4 @@ formats: []
# Optionally declare the Python requirements required to build your docs # Optionally declare the Python requirements required to build your docs
python: python:
install: install:
- requirements: docs/requirements-docs.txt - requirements: requirements/docs.txt

View File

@ -55,10 +55,10 @@ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install --index-url https://download.pytorch.org/whl/nightly/cu126 "torch==2.7.0.dev20250121+cu126" "torchvision==0.22.0.dev20250121"; \ uv pip install --index-url https://download.pytorch.org/whl/nightly/cu126 "torch==2.7.0.dev20250121+cu126" "torchvision==0.22.0.dev20250121"; \
fi fi
COPY requirements-common.txt requirements-common.txt COPY requirements/common.txt requirements/common.txt
COPY requirements-cuda.txt requirements-cuda.txt COPY requirements/cuda.txt requirements/cuda.txt
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install -r requirements-cuda.txt uv pip install -r requirements/cuda.txt
# cuda arch list used by torch # cuda arch list used by torch
# can be useful for both `dev` and `test` # can be useful for both `dev` and `test`
@ -76,14 +76,14 @@ FROM base AS build
ARG TARGETPLATFORM ARG TARGETPLATFORM
# install build dependencies # install build dependencies
COPY requirements-build.txt requirements-build.txt COPY requirements/build.txt requirements/build.txt
# This timeout (in seconds) is necessary when installing some dependencies via uv since it's likely to time out # This timeout (in seconds) is necessary when installing some dependencies via uv since it's likely to time out
# Reference: https://github.com/astral-sh/uv/pull/1694 # Reference: https://github.com/astral-sh/uv/pull/1694
ENV UV_HTTP_TIMEOUT=500 ENV UV_HTTP_TIMEOUT=500
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install -r requirements-build.txt uv pip install -r requirements/build.txt
COPY . . COPY . .
ARG GIT_REPO_CHECK=0 ARG GIT_REPO_CHECK=0
@ -151,11 +151,11 @@ FROM base as dev
# Reference: https://github.com/astral-sh/uv/pull/1694 # Reference: https://github.com/astral-sh/uv/pull/1694
ENV UV_HTTP_TIMEOUT=500 ENV UV_HTTP_TIMEOUT=500
COPY requirements-lint.txt requirements-lint.txt COPY requirements/lint.txt requirements/lint.txt
COPY requirements-test.txt requirements-test.txt COPY requirements/test.txt requirements/test.txt
COPY requirements-dev.txt requirements-dev.txt COPY requirements/dev.txt requirements/dev.txt
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install -r requirements-dev.txt uv pip install -r requirements/dev.txt
#################### DEV IMAGE #################### #################### DEV IMAGE ####################
#################### vLLM installation IMAGE #################### #################### vLLM installation IMAGE ####################
@ -230,9 +230,9 @@ COPY examples examples
# some issues w.r.t. JIT compilation. Therefore we need to # some issues w.r.t. JIT compilation. Therefore we need to
# install build dependencies for JIT compilation. # install build dependencies for JIT compilation.
# TODO: Remove this once FlashInfer AOT wheel is fixed # TODO: Remove this once FlashInfer AOT wheel is fixed
COPY requirements-build.txt requirements-build.txt COPY requirements/build.txt requirements/build.txt
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install -r requirements-build.txt uv pip install -r requirements/build.txt
#################### vLLM installation IMAGE #################### #################### vLLM installation IMAGE ####################
@ -249,7 +249,7 @@ ENV UV_HTTP_TIMEOUT=500
# install development dependencies (for testing) # install development dependencies (for testing)
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install -r requirements-dev.txt uv pip install -r requirements/dev.txt
# install development dependencies (for testing) # install development dependencies (for testing)
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \

View File

@ -26,18 +26,18 @@ WORKDIR /workspace
ARG PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" ARG PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu"
ENV PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL} ENV PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL}
RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=bind,src=requirements-build.txt,target=requirements-build.txt \ --mount=type=bind,src=requirements/build.txt,target=requirements/build.txt \
pip install --upgrade pip && \ pip install --upgrade pip && \
pip install -r requirements-build.txt pip install -r requirements/build.txt
FROM cpu-test-arm AS build FROM cpu-test-arm AS build
WORKDIR /workspace/vllm WORKDIR /workspace/vllm
RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=bind,src=requirements-common.txt,target=requirements-common.txt \ --mount=type=bind,src=requirements/common.txt,target=requirements/common.txt \
--mount=type=bind,src=requirements-cpu.txt,target=requirements-cpu.txt \ --mount=type=bind,src=requirements/cpu.txt,target=requirements/cpu.txt \
pip install -v -r requirements-cpu.txt pip install -v -r requirements/cpu.txt
COPY . . COPY . .
ARG GIT_REPO_CHECK=0 ARG GIT_REPO_CHECK=0

View File

@ -29,18 +29,18 @@ WORKDIR /workspace
ARG PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" ARG PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu"
ENV PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL} ENV PIP_EXTRA_INDEX_URL=${PIP_EXTRA_INDEX_URL}
RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=bind,src=requirements-build.txt,target=requirements-build.txt \ --mount=type=bind,src=requirements/build.txt,target=requirements/build.txt \
pip install --upgrade pip && \ pip install --upgrade pip && \
pip install -r requirements-build.txt pip install -r requirements/build.txt
FROM cpu-test-1 AS build FROM cpu-test-1 AS build
WORKDIR /workspace/vllm WORKDIR /workspace/vllm
RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=bind,src=requirements-common.txt,target=requirements-common.txt \ --mount=type=bind,src=requirements/common.txt,target=requirements/common.txt \
--mount=type=bind,src=requirements-cpu.txt,target=requirements-cpu.txt \ --mount=type=bind,src=requirements/cpu.txt,target=requirements/cpu.txt \
pip install -v -r requirements-cpu.txt pip install -v -r requirements/cpu.txt
COPY . . COPY . .
ARG GIT_REPO_CHECK=0 ARG GIT_REPO_CHECK=0

View File

@ -4,7 +4,7 @@ COPY ./ /workspace/vllm
WORKDIR /workspace/vllm WORKDIR /workspace/vllm
RUN pip install -v -r requirements-hpu.txt RUN pip install -v -r requirements/hpu.txt
ENV no_proxy=localhost,127.0.0.1 ENV no_proxy=localhost,127.0.0.1
ENV PT_HPU_ENABLE_LAZY_COLLECTIVES=true ENV PT_HPU_ENABLE_LAZY_COLLECTIVES=true

View File

@ -36,7 +36,7 @@ RUN --mount=type=bind,source=.git,target=.git \
RUN python3 -m pip install -U \ RUN python3 -m pip install -U \
'cmake>=3.26' ninja packaging 'setuptools-scm>=8' wheel jinja2 \ 'cmake>=3.26' ninja packaging 'setuptools-scm>=8' wheel jinja2 \
-r requirements-neuron.txt -r requirements/neuron.txt
ENV VLLM_TARGET_DEVICE neuron ENV VLLM_TARGET_DEVICE neuron
RUN --mount=type=bind,source=.git,target=.git \ RUN --mount=type=bind,source=.git,target=.git \

View File

@ -16,7 +16,7 @@ RUN --mount=type=bind,source=.git,target=.git \
RUN python3 -m pip install -U pip RUN python3 -m pip install -U pip
# install build requirements # install build requirements
RUN PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" python3 -m pip install -r /workspace/requirements-build.txt RUN PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" python3 -m pip install -r /workspace/requirements/build.txt
# build vLLM with OpenVINO backend # build vLLM with OpenVINO backend
RUN PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" VLLM_TARGET_DEVICE="openvino" python3 -m pip install /workspace RUN PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" VLLM_TARGET_DEVICE="openvino" python3 -m pip install /workspace

View File

@ -6,7 +6,7 @@ ENV PATH="/usr/local/cargo/bin:$PATH:/opt/conda/bin/"
RUN apt-get update -y && apt-get install -y git wget kmod curl vim libnuma-dev libsndfile-dev libprotobuf-dev build-essential ffmpeg libsm6 libxext6 libgl1 libssl-dev RUN apt-get update -y && apt-get install -y git wget kmod curl vim libnuma-dev libsndfile-dev libprotobuf-dev build-essential ffmpeg libsm6 libxext6 libgl1 libssl-dev
# Some packages in requirements-cpu are installed here # Some packages in requirements/cpu are installed here
# IBM provides optimized packages for ppc64le processors in the open-ce project for mamba # IBM provides optimized packages for ppc64le processors in the open-ce project for mamba
# Currently these may not be available for venv or pip directly # Currently these may not be available for venv or pip directly
RUN micromamba install -y -n base -c https://ftp.osuosl.org/pub/open-ce/1.11.0-p10/ -c defaults python=3.10 rust && micromamba clean --all --yes RUN micromamba install -y -n base -c https://ftp.osuosl.org/pub/open-ce/1.11.0-p10/ -c defaults python=3.10 rust && micromamba clean --all --yes
@ -21,7 +21,7 @@ RUN --mount=type=bind,source=.git,target=.git \
RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \
RUSTFLAGS='-L /opt/conda/lib' pip install -v --prefer-binary --extra-index-url https://repo.fury.io/mgiessing \ RUSTFLAGS='-L /opt/conda/lib' pip install -v --prefer-binary --extra-index-url https://repo.fury.io/mgiessing \
'cmake>=3.26' ninja packaging 'setuptools-scm>=8' wheel jinja2 \ 'cmake>=3.26' ninja packaging 'setuptools-scm>=8' wheel jinja2 \
-r requirements-cpu.txt \ -r requirements/cpu.txt \
xformers uvloop==0.20.0 xformers uvloop==0.20.0
RUN --mount=type=bind,source=.git,target=.git \ RUN --mount=type=bind,source=.git,target=.git \

View File

@ -38,7 +38,7 @@ FROM fetch_vllm AS build_vllm
ARG USE_CYTHON ARG USE_CYTHON
# Build vLLM # Build vLLM
RUN cd vllm \ RUN cd vllm \
&& python3 -m pip install -r requirements-rocm.txt \ && python3 -m pip install -r requirements/rocm.txt \
&& python3 setup.py clean --all \ && python3 setup.py clean --all \
&& if [ ${USE_CYTHON} -eq "1" ]; then python3 setup_cython.py build_ext --inplace; fi \ && if [ ${USE_CYTHON} -eq "1" ]; then python3 setup_cython.py build_ext --inplace; fi \
&& python3 setup.py bdist_wheel --dist-dir=dist && python3 setup.py bdist_wheel --dist-dir=dist
@ -60,7 +60,7 @@ RUN python3 -m pip install --upgrade pip && rm -rf /var/lib/apt/lists/*
# Install vLLM # Install vLLM
RUN --mount=type=bind,from=export_vllm,src=/,target=/install \ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \
cd /install \ cd /install \
&& pip install -U -r requirements-rocm.txt \ && pip install -U -r requirements/rocm.txt \
&& pip uninstall -y vllm \ && pip uninstall -y vllm \
&& pip install *.whl && pip install *.whl
@ -99,7 +99,7 @@ RUN if [ ${BUILD_RPD} -eq "1" ]; then \
# Install vLLM # Install vLLM
RUN --mount=type=bind,from=export_vllm,src=/,target=/install \ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \
cd /install \ cd /install \
&& pip install -U -r requirements-rocm.txt \ && pip install -U -r requirements/rocm.txt \
&& pip uninstall -y vllm \ && pip uninstall -y vllm \
&& pip install *.whl && pip install *.whl

View File

@ -58,7 +58,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
cd ../../python && \ cd ../../python && \
export PYARROW_PARALLEL=4 && \ export PYARROW_PARALLEL=4 && \
export ARROW_BUILD_TYPE=release && \ export ARROW_BUILD_TYPE=release && \
uv pip install -r requirements-build.txt && \ uv pip install -r requirements/build.txt && \
python setup.py build_ext --build-type=$ARROW_BUILD_TYPE --bundle-arrow-cpp bdist_wheel python setup.py build_ext --build-type=$ARROW_BUILD_TYPE --bundle-arrow-cpp bdist_wheel
FROM python-install AS numa-build FROM python-install AS numa-build
@ -120,7 +120,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,from=rust,source=/root/.rustup,target=/root/.rustup,rw \ --mount=type=bind,from=rust,source=/root/.rustup,target=/root/.rustup,rw \
--mount=type=bind,from=pyarrow,source=/tmp/arrow/python/dist,target=/tmp/arrow-wheels \ --mount=type=bind,from=pyarrow,source=/tmp/arrow/python/dist,target=/tmp/arrow-wheels \
--mount=type=bind,from=torch-vision,source=/tmp/vision/dist,target=/tmp/vision-wheels/ \ --mount=type=bind,from=torch-vision,source=/tmp/vision/dist,target=/tmp/vision-wheels/ \
sed -i '/^torch/d' requirements-build.txt && \ sed -i '/^torch/d' requirements/build.txt && \
ARROW_WHL_FILE=$(ls /tmp/arrow-wheels/pyarrow-*.whl | head -n 1) && \ ARROW_WHL_FILE=$(ls /tmp/arrow-wheels/pyarrow-*.whl | head -n 1) && \
VISION_WHL_FILE=$(ls /tmp/vision-wheels/*.whl | head -n 1) && \ VISION_WHL_FILE=$(ls /tmp/vision-wheels/*.whl | head -n 1) && \
uv pip install -v \ uv pip install -v \
@ -128,8 +128,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \
$VISION_WHL_FILE \ $VISION_WHL_FILE \
--extra-index-url https://download.pytorch.org/whl/nightly/cpu \ --extra-index-url https://download.pytorch.org/whl/nightly/cpu \
--index-strategy unsafe-best-match \ --index-strategy unsafe-best-match \
-r requirements-build.txt \ -r requirements/build.txt \
-r requirements-cpu.txt -r requirements/cpu.txt
# Build and install vllm # Build and install vllm
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \

View File

@ -19,7 +19,7 @@ ENV VLLM_TARGET_DEVICE="tpu"
RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=bind,source=.git,target=.git \ --mount=type=bind,source=.git,target=.git \
python3 -m pip install \ python3 -m pip install \
-r requirements-tpu.txt -r requirements/tpu.txt
RUN python3 setup.py develop RUN python3 setup.py develop
# install development dependencies (for testing) # install development dependencies (for testing)

View File

@ -25,12 +25,12 @@ RUN apt-get update -y && \
wget wget
WORKDIR /workspace/vllm WORKDIR /workspace/vllm
COPY requirements-xpu.txt /workspace/vllm/requirements-xpu.txt COPY requirements/xpu.txt /workspace/vllm/requirements/xpu.txt
COPY requirements-common.txt /workspace/vllm/requirements-common.txt COPY requirements/common.txt /workspace/vllm/requirements/common.txt
RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \
pip install --no-cache-dir \ pip install --no-cache-dir \
-r requirements-xpu.txt -r requirements/xpu.txt
RUN git clone https://github.com/intel/pti-gpu && \ RUN git clone https://github.com/intel/pti-gpu && \
cd pti-gpu/sdk && \ cd pti-gpu/sdk && \

View File

@ -1,9 +1,9 @@
include LICENSE include LICENSE
include requirements-common.txt include requirements/common.txt
include requirements-cuda.txt include requirements/cuda.txt
include requirements-rocm.txt include requirements/rocm.txt
include requirements-neuron.txt include requirements/neuron.txt
include requirements-cpu.txt include requirements/cpu.txt
include CMakeLists.txt include CMakeLists.txt
recursive-include cmake * recursive-include cmake *

View File

@ -4,7 +4,7 @@
```bash ```bash
# Install dependencies. # Install dependencies.
pip install -r requirements-docs.txt pip install -r ../requirements/docs.txt
# Build the docs. # Build the docs.
make clean make clean

View File

@ -23,7 +23,7 @@ Check out the [building from source](#build-from-source) documentation for detai
## Testing ## Testing
```bash ```bash
pip install -r requirements-dev.txt pip install -r requirements/dev.txt
# Linting, formatting and static type checking # Linting, formatting and static type checking
pre-commit install --hook-type pre-commit --hook-type commit-msg pre-commit install --hook-type pre-commit --hook-type commit-msg

View File

@ -63,7 +63,7 @@ To build and install vLLM from source, run:
```console ```console
git clone https://github.com/vllm-project/vllm.git git clone https://github.com/vllm-project/vllm.git
cd vllm cd vllm
pip install -r requirements-hpu.txt pip install -r requirements/hpu.txt
python setup.py develop python setup.py develop
``` ```
@ -73,7 +73,7 @@ Currently, the latest features and performance optimizations are developed in Ga
git clone https://github.com/HabanaAI/vllm-fork.git git clone https://github.com/HabanaAI/vllm-fork.git
cd vllm-fork cd vllm-fork
git checkout habana_main git checkout habana_main
pip install -r requirements-hpu.txt pip install -r requirements/hpu.txt
python setup.py develop python setup.py develop
``` ```

View File

@ -116,7 +116,7 @@ Once neuronx-cc and transformers-neuronx packages are installed, we will be able
```console ```console
git clone https://github.com/vllm-project/vllm.git git clone https://github.com/vllm-project/vllm.git
cd vllm cd vllm
pip install -U -r requirements-neuron.txt pip install -U -r requirements/neuron.txt
VLLM_TARGET_DEVICE="neuron" pip install . VLLM_TARGET_DEVICE="neuron" pip install .
``` ```

View File

@ -32,7 +32,7 @@ Second, clone vLLM and install prerequisites for the vLLM OpenVINO backend insta
```console ```console
git clone https://github.com/vllm-project/vllm.git git clone https://github.com/vllm-project/vllm.git
cd vllm cd vllm
pip install -r requirements-build.txt --extra-index-url https://download.pytorch.org/whl/cpu pip install -r requirements/build.txt --extra-index-url https://download.pytorch.org/whl/cpu
``` ```
Finally, install vLLM with OpenVINO backend: Finally, install vLLM with OpenVINO backend:

View File

@ -151,7 +151,7 @@ pip uninstall torch torch-xla -y
Install build dependencies: Install build dependencies:
```bash ```bash
pip install -r requirements-tpu.txt pip install -r requirements/tpu.txt
sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev
``` ```

View File

@ -25,7 +25,7 @@ After installation of XCode and the Command Line Tools, which include Apple Clan
```console ```console
git clone https://github.com/vllm-project/vllm.git git clone https://github.com/vllm-project/vllm.git
cd vllm cd vllm
pip install -r requirements-cpu.txt pip install -r requirements/cpu.txt
pip install -e . pip install -e .
``` ```

View File

@ -18,7 +18,7 @@ Third, install Python packages for vLLM CPU backend building:
```console ```console
pip install --upgrade pip pip install --upgrade pip
pip install "cmake>=3.26" wheel packaging ninja "setuptools-scm>=8" numpy pip install "cmake>=3.26" wheel packaging ninja "setuptools-scm>=8" numpy
pip install -v -r requirements-cpu.txt --extra-index-url https://download.pytorch.org/whl/cpu pip install -v -r requirements/cpu.txt --extra-index-url https://download.pytorch.org/whl/cpu
``` ```
Finally, build and install vLLM CPU backend: Finally, build and install vLLM CPU backend:

View File

@ -148,7 +148,7 @@ To build vLLM using an existing PyTorch installation:
git clone https://github.com/vllm-project/vllm.git git clone https://github.com/vllm-project/vllm.git
cd vllm cd vllm
python use_existing_torch.py python use_existing_torch.py
pip install -r requirements-build.txt pip install -r requirements/build.txt
pip install -e . --no-build-isolation pip install -e . --no-build-isolation
``` ```

View File

@ -84,7 +84,7 @@ Currently, there are no pre-built ROCm wheels.
# Install dependencies # Install dependencies
$ pip install --upgrade numba scipy huggingface-hub[cli,hf_transfer] setuptools_scm $ pip install --upgrade numba scipy huggingface-hub[cli,hf_transfer] setuptools_scm
$ pip install "numpy<2" $ pip install "numpy<2"
$ pip install -r requirements-rocm.txt $ pip install -r requirements/rocm.txt
# Build vLLM for MI210/MI250/MI300. # Build vLLM for MI210/MI250/MI300.
$ export PYTORCH_ROCM_ARCH="gfx90a;gfx942" $ export PYTORCH_ROCM_ARCH="gfx90a;gfx942"

View File

@ -25,7 +25,7 @@ Currently, there are no pre-built XPU wheels.
```console ```console
source /opt/intel/oneapi/setvars.sh source /opt/intel/oneapi/setvars.sh
pip install --upgrade pip pip install --upgrade pip
pip install -v -r requirements-xpu.txt pip install -v -r requirements/xpu.txt
``` ```
- Finally, build and install vLLM XPU backend: - Finally, build and install vLLM XPU backend:

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
echo "vLLM linting system has been moved from format.sh to pre-commit hook." echo "vLLM linting system has been moved from format.sh to pre-commit hook."
echo "Please run 'pip install -r requirements-lint.txt', followed by" echo "Please run 'pip install -r requirements/lint.txt', followed by"
echo "'pre-commit install --hook-type pre-commit --hook-type commit-msg' to install the pre-commit hook." echo "'pre-commit install --hook-type pre-commit --hook-type commit-msg' to install the pre-commit hook."
echo "Then linters will run automatically before each commit." echo "Then linters will run automatically before each commit."

View File

@ -1,5 +1,5 @@
[build-system] [build-system]
# Should be mirrored in requirements-build.txt # Should be mirrored in requirements/build.txt
requires = [ requires = [
"cmake>=3.26", "cmake>=3.26",
"ninja", "ninja",

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
# Dependencies for CPUs # Dependencies for CPUs
torch==2.5.1+cpu; platform_machine != "ppc64le" and platform_machine != "aarch64" and platform_system != "Darwin" and platform_machine != "s390x" torch==2.5.1+cpu; platform_machine != "ppc64le" and platform_machine != "aarch64" and platform_system != "Darwin" and platform_machine != "s390x"

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
numba == 0.60.0 # v0.61 doesn't support Python 3.9. Required for N-gram speculative decoding numba == 0.60.0 # v0.61 doesn't support Python 3.9. Required for N-gram speculative decoding

View File

@ -1,5 +1,5 @@
-r requirements-lint.txt -r lint.txt
-r requirements-test.txt -r test.txt
# Avoid adding requirements directly to this file. # Avoid adding requirements directly to this file.
# Instead, modify the two files referenced above. # Instead, modify the two files referenced above.

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
# Dependencies for HPU code # Dependencies for HPU code
ray ray

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
# Dependencies for Neuron devices # Dependencies for Neuron devices
torch-neuronx >= 2.5.0 torch-neuronx >= 2.5.0

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
torch == 2.5.1 # should be aligned with "common" vLLM torch version torch == 2.5.1 # should be aligned with "common" vLLM torch version
openvino >= 2024.4.0 # since 2024.4.0 both CPU and GPU support Paged Attention openvino >= 2024.4.0 # since 2024.4.0 both CPU and GPU support Paged Attention

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
--extra-index-url https://download.pytorch.org/whl/rocm6.2 --extra-index-url https://download.pytorch.org/whl/rocm6.2
torch==2.5.1 torch==2.5.1

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
numba == 0.60.0 # v0.61 doesn't support Python 3.9. Required for N-gram speculative decoding numba == 0.60.0 # v0.61 doesn't support Python 3.9. Required for N-gram speculative decoding

View File

@ -1,5 +1,5 @@
# This file was autogenerated by uv via the following command: # This file was autogenerated by uv via the following command:
# uv pip compile requirements-test.in -o requirements-test.txt # uv pip compile requirements/test.in -o requirements/test.txt
absl-py==2.1.0 absl-py==2.1.0
# via rouge-score # via rouge-score
accelerate==1.0.1 accelerate==1.0.1
@ -32,9 +32,9 @@ attrs==24.2.0
audioread==3.0.1 audioread==3.0.1
# via librosa # via librosa
awscli==1.35.23 awscli==1.35.23
# via -r requirements-test.in # via -r requirements/test.in
bitsandbytes==0.45.0 bitsandbytes==0.45.0
# via -r requirements-test.in # via -r requirements/test.in
black==24.10.0 black==24.10.0
# via datamodel-code-generator # via datamodel-code-generator
boto3==1.35.57 boto3==1.35.57
@ -47,7 +47,7 @@ botocore==1.35.57
bounded-pool-executor==0.0.3 bounded-pool-executor==0.0.3
# via pqdm # via pqdm
buildkite-test-collector==0.1.9 buildkite-test-collector==0.1.9
# via -r requirements-test.in # via -r requirements/test.in
certifi==2024.8.30 certifi==2024.8.30
# via # via
# httpcore # httpcore
@ -79,7 +79,7 @@ cupy-cuda12x==13.3.0
cycler==0.12.1 cycler==0.12.1
# via matplotlib # via matplotlib
datamodel-code-generator==0.26.3 datamodel-code-generator==0.26.3
# via -r requirements-test.in # via -r requirements/test.in
dataproperty==1.0.1 dataproperty==1.0.1
# via # via
# pytablewriter # pytablewriter
@ -91,7 +91,7 @@ datasets==3.0.2
decorator==5.1.1 decorator==5.1.1
# via librosa # via librosa
decord==0.6.0 decord==0.6.0
# via -r requirements-test.in # via -r requirements/test.in
dill==0.3.8 dill==0.3.8
# via # via
# datasets # datasets
@ -104,7 +104,7 @@ docutils==0.16
# via awscli # via awscli
einops==0.8.0 einops==0.8.0
# via # via
# -r requirements-test.in # -r requirements/test.in
# encodec # encodec
# vector-quantize-pytorch # vector-quantize-pytorch
# vocos # vocos
@ -145,7 +145,7 @@ fsspec==2024.9.0
# huggingface-hub # huggingface-hub
# torch # torch
genai-perf==0.0.8 genai-perf==0.0.8
# via -r requirements-test.in # via -r requirements/test.in
genson==1.3.0 genson==1.3.0
# via datamodel-code-generator # via datamodel-code-generator
h11==0.14.0 h11==0.14.0
@ -155,7 +155,7 @@ hiredis==3.0.0
httpcore==1.0.6 httpcore==1.0.6
# via httpx # via httpx
httpx==0.27.2 httpx==0.27.2
# via -r requirements-test.in # via -r requirements/test.in
huggingface-hub==0.26.2 huggingface-hub==0.26.2
# via # via
# accelerate # accelerate
@ -187,7 +187,7 @@ jinja2==3.1.4
# datamodel-code-generator # datamodel-code-generator
# torch # torch
jiwer==3.0.5 jiwer==3.0.5
# via -r requirements-test.in # via -r requirements/test.in
jmespath==1.0.1 jmespath==1.0.1
# via # via
# boto3 # boto3
@ -214,11 +214,11 @@ lazy-loader==0.4
libnacl==2.1.0 libnacl==2.1.0
# via tensorizer # via tensorizer
librosa==0.10.2.post1 librosa==0.10.2.post1
# via -r requirements-test.in # via -r requirements/test.in
llvmlite==0.43.0 llvmlite==0.43.0
# via numba # via numba
lm-eval==0.4.4 lm-eval==0.4.4
# via -r requirements-test.in # via -r requirements/test.in
lxml==5.3.0 lxml==5.3.0
# via sacrebleu # via sacrebleu
markdown-it-py==3.0.0 markdown-it-py==3.0.0
@ -226,7 +226,7 @@ markdown-it-py==3.0.0
markupsafe==3.0.2 markupsafe==3.0.2
# via jinja2 # via jinja2
matplotlib==3.9.2 matplotlib==3.9.2
# via -r requirements-test.in # via -r requirements/test.in
mbstrdecoder==1.1.3 mbstrdecoder==1.1.3
# via # via
# dataproperty # dataproperty
@ -235,7 +235,7 @@ mbstrdecoder==1.1.3
mdurl==0.1.2 mdurl==0.1.2
# via markdown-it-py # via markdown-it-py
mistral-common==1.5.1 mistral-common==1.5.1
# via -r requirements-test.in # via -r requirements/test.in
more-itertools==10.5.0 more-itertools==10.5.0
# via lm-eval # via lm-eval
mpmath==1.3.0 mpmath==1.3.0
@ -264,7 +264,7 @@ numexpr==2.10.1
# via lm-eval # via lm-eval
numpy==1.26.4 numpy==1.26.4
# via # via
# -r requirements-test.in # -r requirements/test.in
# accelerate # accelerate
# bitsandbytes # bitsandbytes
# contourpy # contourpy
@ -366,7 +366,7 @@ patsy==1.0.1
# via statsmodels # via statsmodels
peft==0.13.2 peft==0.13.2
# via # via
# -r requirements-test.in # -r requirements/test.in
# lm-eval # lm-eval
pillow==10.4.0 pillow==10.4.0
# via # via
@ -388,7 +388,7 @@ pooch==1.8.2
portalocker==2.10.1 portalocker==2.10.1
# via sacrebleu # via sacrebleu
pqdm==0.2.0 pqdm==0.2.0
# via -r requirements-test.in # via -r requirements/test.in
propcache==0.2.0 propcache==0.2.0
# via yarl # via yarl
protobuf==5.28.3 protobuf==5.28.3
@ -426,7 +426,7 @@ pytablewriter==1.2.0
# via lm-eval # via lm-eval
pytest==8.3.3 pytest==8.3.3
# via # via
# -r requirements-test.in # -r requirements/test.in
# buildkite-test-collector # buildkite-test-collector
# genai-perf # genai-perf
# pytest-asyncio # pytest-asyncio
@ -435,15 +435,15 @@ pytest==8.3.3
# pytest-rerunfailures # pytest-rerunfailures
# pytest-shard # pytest-shard
pytest-asyncio==0.24.0 pytest-asyncio==0.24.0
# via -r requirements-test.in # via -r requirements/test.in
pytest-forked==1.6.0 pytest-forked==1.6.0
# via -r requirements-test.in # via -r requirements/test.in
pytest-mock==3.14.0 pytest-mock==3.14.0
# via genai-perf # via genai-perf
pytest-rerunfailures==14.0 pytest-rerunfailures==14.0
# via -r requirements-test.in # via -r requirements/test.in
pytest-shard==0.1.2 pytest-shard==0.1.2
# via -r requirements-test.in # via -r requirements/test.in
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
# via # via
# botocore # botocore
@ -473,7 +473,7 @@ pyyaml==6.0.2
rapidfuzz==3.12.1 rapidfuzz==3.12.1
# via jiwer # via jiwer
ray==2.43.0 ray==2.43.0
# via -r requirements-test.in # via -r requirements/test.in
redis==5.2.0 redis==5.2.0
# via tensorizer # via tensorizer
referencing==0.35.1 referencing==0.35.1
@ -512,9 +512,9 @@ rpds-py==0.20.1
rsa==4.7.2 rsa==4.7.2
# via awscli # via awscli
runai-model-streamer==0.11.0 runai-model-streamer==0.11.0
# via -r requirements-test.in # via -r requirements/test.in
runai-model-streamer-s3==0.11.0 runai-model-streamer-s3==0.11.0
# via -r requirements-test.in # via -r requirements/test.in
s3transfer==0.10.3 s3transfer==0.10.3
# via # via
# awscli # awscli
@ -540,7 +540,7 @@ scipy==1.13.1
# statsmodels # statsmodels
# vocos # vocos
sentence-transformers==3.2.1 sentence-transformers==3.2.1
# via -r requirements-test.in # via -r requirements/test.in
sentencepiece==0.2.0 sentencepiece==0.2.0
# via mistral-common # via mistral-common
setuptools==75.8.0 setuptools==75.8.0
@ -557,7 +557,7 @@ sniffio==1.3.1
# httpx # httpx
soundfile==0.12.1 soundfile==0.12.1
# via # via
# -r requirements-test.in # -r requirements/test.in
# librosa # librosa
soxr==0.5.0.post1 soxr==0.5.0.post1
# via librosa # via librosa
@ -580,7 +580,7 @@ tenacity==9.0.0
# lm-eval # lm-eval
# plotly # plotly
tensorizer==2.9.0 tensorizer==2.9.0
# via -r requirements-test.in # via -r requirements/test.in
threadpoolctl==3.5.0 threadpoolctl==3.5.0
# via scikit-learn # via scikit-learn
tiktoken==0.7.0 tiktoken==0.7.0
@ -588,12 +588,12 @@ tiktoken==0.7.0
# lm-eval # lm-eval
# mistral-common # mistral-common
timm==1.0.11 timm==1.0.11
# via -r requirements-test.in # via -r requirements/test.in
tokenizers==0.21.0 tokenizers==0.21.0
# via transformers # via transformers
torch==2.5.1 torch==2.5.1
# via # via
# -r requirements-test.in # -r requirements/test.in
# accelerate # accelerate
# bitsandbytes # bitsandbytes
# encodec # encodec
@ -609,7 +609,7 @@ torch==2.5.1
# vocos # vocos
torchaudio==2.5.1 torchaudio==2.5.1
# via # via
# -r requirements-test.in # -r requirements/test.in
# encodec # encodec
# vocos # vocos
torchvision==0.20.1 torchvision==0.20.1
@ -630,19 +630,19 @@ tqdm-multiprocess==0.0.11
# via lm-eval # via lm-eval
transformers==4.48.2 transformers==4.48.2
# via # via
# -r requirements-test.in # -r requirements/test.in
# genai-perf # genai-perf
# lm-eval # lm-eval
# peft # peft
# sentence-transformers # sentence-transformers
# transformers-stream-generator # transformers-stream-generator
transformers-stream-generator==0.0.5 transformers-stream-generator==0.0.5
# via -r requirements-test.in # via -r requirements/test.in
triton==3.1.0 triton==3.1.0
# via torch # via torch
tritonclient==2.51.0 tritonclient==2.51.0
# via # via
# -r requirements-test.in # -r requirements/test.in
# genai-perf # genai-perf
typepy==1.3.2 typepy==1.3.2
# via # via
@ -668,9 +668,9 @@ urllib3==2.2.3
# responses # responses
# tritonclient # tritonclient
vector-quantize-pytorch==1.21.2 vector-quantize-pytorch==1.21.2
# via -r requirements-test.in # via -r requirements/test.in
vocos==0.1.0 vocos==0.1.0
# via -r requirements-test.in # via -r requirements/test.in
word2number==1.1 word2number==1.1
# via lm-eval # via lm-eval
xxhash==3.5.0 xxhash==3.5.0

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
# Dependencies for TPU # Dependencies for TPU
cmake>=3.26 cmake>=3.26

View File

@ -1,5 +1,5 @@
# Common dependencies # Common dependencies
-r requirements-common.txt -r common.txt
ray >= 2.9 ray >= 2.9
cmake>=3.26 cmake>=3.26

View File

@ -27,7 +27,7 @@ def load_module_from_path(module_name, path):
return module return module
ROOT_DIR = os.path.dirname(__file__) ROOT_DIR = Path(__file__).parent
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# cannot import envs directly because it depends on vllm, # cannot import envs directly because it depends on vllm,
@ -520,10 +520,6 @@ def get_nvcc_cuda_version() -> Version:
return nvcc_cuda_version return nvcc_cuda_version
def get_path(*filepath) -> str:
return os.path.join(ROOT_DIR, *filepath)
def get_gaudi_sw_version(): def get_gaudi_sw_version():
""" """
Returns the driver version. Returns the driver version.
@ -591,9 +587,10 @@ def get_vllm_version() -> str:
def get_requirements() -> list[str]: def get_requirements() -> list[str]:
"""Get Python package dependencies from requirements.txt.""" """Get Python package dependencies from requirements.txt."""
requirements_dir = ROOT_DIR / "requirements"
def _read_requirements(filename: str) -> list[str]: def _read_requirements(filename: str) -> list[str]:
with open(get_path(filename)) as f: with open(requirements_dir / filename) as f:
requirements = f.read().strip().split("\n") requirements = f.read().strip().split("\n")
resolved_requirements = [] resolved_requirements = []
for line in requirements: for line in requirements:
@ -606,9 +603,9 @@ def get_requirements() -> list[str]:
return resolved_requirements return resolved_requirements
if _no_device(): if _no_device():
requirements = _read_requirements("requirements-common.txt") requirements = _read_requirements("common.txt")
elif _is_cuda(): elif _is_cuda():
requirements = _read_requirements("requirements-cuda.txt") requirements = _read_requirements("cuda.txt")
cuda_major, cuda_minor = torch.version.cuda.split(".") cuda_major, cuda_minor = torch.version.cuda.split(".")
modified_requirements = [] modified_requirements = []
for req in requirements: for req in requirements:
@ -619,19 +616,19 @@ def get_requirements() -> list[str]:
modified_requirements.append(req) modified_requirements.append(req)
requirements = modified_requirements requirements = modified_requirements
elif _is_hip(): elif _is_hip():
requirements = _read_requirements("requirements-rocm.txt") requirements = _read_requirements("rocm.txt")
elif _is_neuron(): elif _is_neuron():
requirements = _read_requirements("requirements-neuron.txt") requirements = _read_requirements("neuron.txt")
elif _is_hpu(): elif _is_hpu():
requirements = _read_requirements("requirements-hpu.txt") requirements = _read_requirements("hpu.txt")
elif _is_openvino(): elif _is_openvino():
requirements = _read_requirements("requirements-openvino.txt") requirements = _read_requirements("openvino.txt")
elif _is_tpu(): elif _is_tpu():
requirements = _read_requirements("requirements-tpu.txt") requirements = _read_requirements("tpu.txt")
elif _is_cpu(): elif _is_cpu():
requirements = _read_requirements("requirements-cpu.txt") requirements = _read_requirements("cpu.txt")
elif _is_xpu(): elif _is_xpu():
requirements = _read_requirements("requirements-xpu.txt") requirements = _read_requirements("xpu.txt")
else: else:
raise ValueError( raise ValueError(
"Unsupported platform, please use CUDA, ROCm, Neuron, HPU, " "Unsupported platform, please use CUDA, ROCm, Neuron, HPU, "

View File

@ -2,7 +2,7 @@
import glob import glob
requires_files = glob.glob('requirements*.txt') requires_files = glob.glob('requirements/*.txt')
requires_files += ["pyproject.toml"] requires_files += ["pyproject.toml"]
for file in requires_files: for file in requires_files:
print(f">>> cleaning {file}") print(f">>> cleaning {file}")