Unverified Commit fc645f1a authored by Harry Mellor's avatar Harry Mellor Committed by GitHub
Browse files

Add structure to `requirements/` directory (#39024)


Signed-off-by: default avatarHarry Mellor <19981378+hmellor@users.noreply.github.com>
Co-authored-by: default avatarRobert Shaw <114415538+robertgshaw2-redhat@users.noreply.github.com>
parent 2d80cf9d
...@@ -8,8 +8,8 @@ run_all_patterns: ...@@ -8,8 +8,8 @@ run_all_patterns:
- "CMakeLists.txt" - "CMakeLists.txt"
- "requirements/common.txt" - "requirements/common.txt"
- "requirements/cuda.txt" - "requirements/cuda.txt"
- "requirements/build.txt" - "requirements/build/cuda.txt"
- "requirements/test.txt" - "requirements/test/cuda.txt"
- "setup.py" - "setup.py"
- "csrc/" - "csrc/"
- "cmake/" - "cmake/"
......
...@@ -6,8 +6,8 @@ run_all_patterns: ...@@ -6,8 +6,8 @@ run_all_patterns:
- "CMakeLists.txt" - "CMakeLists.txt"
- "requirements/common.txt" - "requirements/common.txt"
- "requirements/xpu.txt" - "requirements/xpu.txt"
- "requirements/build.txt" - "requirements/build/cuda.txt"
- "requirements/test.txt" - "requirements/test/cuda.txt"
- "setup.py" - "setup.py"
- "csrc/" - "csrc/"
- "cmake/" - "cmake/"
......
...@@ -42,7 +42,7 @@ WORKDIR /workspace/vllm ...@@ -42,7 +42,7 @@ WORKDIR /workspace/vllm
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
RUN bash -c 'pip install -r <(sed "/^torch/d" requirements/build.txt)' RUN bash -c 'pip install -r <(sed "/^torch/d" requirements/build/cuda.txt)'
RUN VLLM_TARGET_DEVICE=empty pip install --no-build-isolation -e . RUN VLLM_TARGET_DEVICE=empty pip install --no-build-isolation -e .
RUN pip install git+https://github.com/vllm-project/vllm-gaudi.git RUN pip install git+https://github.com/vllm-project/vllm-gaudi.git
......
...@@ -123,7 +123,7 @@ steps: ...@@ -123,7 +123,7 @@ steps:
soft_fail: true soft_fail: true
working_dir: "/vllm-workspace/tests" working_dir: "/vllm-workspace/tests"
source_file_dependencies: source_file_dependencies:
- requirements/nightly_torch_test.txt - requirements/test/nightly-torch.txt
- vllm/platforms/rocm.py - vllm/platforms/rocm.py
commands: commands:
- bash standalone_tests/pytorch_nightly_dependency.sh - bash standalone_tests/pytorch_nightly_dependency.sh
......
...@@ -64,6 +64,6 @@ steps: ...@@ -64,6 +64,6 @@ steps:
device: h200_18gb device: h200_18gb
soft_fail: true soft_fail: true
source_file_dependencies: source_file_dependencies:
- requirements/nightly_torch_test.txt - requirements/test/nightly-torch.txt
commands: commands:
- bash standalone_tests/pytorch_nightly_dependency.sh - bash standalone_tests/pytorch_nightly_dependency.sh
...@@ -9,7 +9,7 @@ steps: ...@@ -9,7 +9,7 @@ steps:
- vllm/model_executor/layers/quantization - vllm/model_executor/layers/quantization
- tests/quantization - tests/quantization
commands: commands:
# temporary install here since we need nightly, will move to requirements/test.in # temporary install here since we need nightly, will move to requirements/test/cuda.in
# after torchao 0.12 release, and pin a working version of torchao nightly here # after torchao 0.12 release, and pin a working version of torchao nightly here
# since torchao nightly is only compatible with torch nightly currently # since torchao nightly is only compatible with torch nightly currently
......
...@@ -32,7 +32,7 @@ jobs: ...@@ -32,7 +32,7 @@ jobs:
- name: Install dependencies and build vLLM - name: Install dependencies and build vLLM
run: | run: |
uv pip install -r requirements/cpu-build.txt --index-strategy unsafe-best-match uv pip install -r requirements/build/cpu.txt --index-strategy unsafe-best-match
uv pip install -r requirements/cpu.txt --index-strategy unsafe-best-match uv pip install -r requirements/cpu.txt --index-strategy unsafe-best-match
uv pip install -e . --no-build-isolation uv pip install -e . --no-build-isolation
env: env:
......
...@@ -9,7 +9,7 @@ PATH=${cuda_home}/bin:$PATH ...@@ -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/cuda.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
......
...@@ -29,6 +29,7 @@ __pycache__/ ...@@ -29,6 +29,7 @@ __pycache__/
# Distribution / packaging # Distribution / packaging
.Python .Python
build/ build/
!requirements/build/
cmake-build-*/ cmake-build-*/
CMakeUserPresets.json CMakeUserPresets.json
develop-eggs/ develop-eggs/
......
...@@ -39,15 +39,24 @@ repos: ...@@ -39,15 +39,24 @@ repos:
rev: 0.11.1 rev: 0.11.1
hooks: hooks:
- id: pip-compile - id: pip-compile
args: [requirements/test.in, -c, requirements/common.txt, -o, requirements/test.txt, --index-strategy, unsafe-best-match, --torch-backend, cu130, --python-platform, x86_64-manylinux_2_28, --python-version, "3.12"] args: [
files: ^requirements/test\.(in|txt)$ requirements/test/cuda.in,
-c, requirements/cuda.txt,
-o, requirements/test/cuda.txt,
--index-strategy, unsafe-best-match,
--torch-backend, cu130,
--python-platform, x86_64-manylinux_2_28,
--python-version, "3.12",
]
files: ^requirements/(common|cuda|test/cuda)\.(in|txt)$
- id: pip-compile - id: pip-compile
alias: pip-compile-rocm alias: pip-compile-rocm
name: pip-compile-rocm name: pip-compile-rocm
args: [ args: [
requirements/rocm-test.in, -o, requirements/rocm-test.txt, requirements/test/rocm.in,
--index-strategy, unsafe-best-match,
-c, requirements/rocm.txt, -c, requirements/rocm.txt,
-o, requirements/test/rocm.txt,
--index-strategy, unsafe-best-match,
--python-platform, x86_64-manylinux_2_28, --python-platform, x86_64-manylinux_2_28,
--python-version, "3.12", --python-version, "3.12",
# Exclude torch and CUDA/NVIDIA packages # Exclude torch and CUDA/NVIDIA packages
...@@ -108,14 +117,27 @@ repos: ...@@ -108,14 +117,27 @@ repos:
--no-emit-package, nvidia-nvshmem-cu13, --no-emit-package, nvidia-nvshmem-cu13,
--no-emit-package, nvidia-nvtx-cu13, --no-emit-package, nvidia-nvtx-cu13,
] ]
files: ^requirements/rocm-test\.(in|txt)$ files: ^requirements/(common|rocm|test/rocm)\.(in|txt)$
- id: pip-compile
alias: pip-compile-xpu
name: pip-compile-xpu
args: [
requirements/test/xpu.in,
-c, requirements/xpu.txt,
-o, requirements/test/xpu.txt,
--index-strategy, unsafe-best-match,
--torch-backend, xpu,
--python-platform, x86_64-manylinux_2_39,
--python-version, "3.12",
]
files: ^requirements/(common|xpu|test/xpu)\.(in|txt)$
- repo: local - repo: local
hooks: hooks:
- id: format-torch-nightly-test - id: format-torch-nightly-test
name: reformat nightly_torch_test.txt to be in sync with test.in name: reformat test/nightly-torch.txt to be in sync with test/cuda.in
language: python language: python
entry: python tools/pre_commit/generate_nightly_torch_test.py entry: python tools/pre_commit/generate_nightly_torch_test.py
files: ^requirements/test\.(in|txt)$ files: ^requirements/test/cuda\.(in|txt)$
- id: mypy-local - id: mypy-local
name: Run mypy locally for lowest supported Python version name: Run mypy locally for lowest supported Python version
entry: python tools/pre_commit/mypy.py 0 "3.10" entry: python tools/pre_commit/mypy.py 0 "3.10"
......
...@@ -72,11 +72,11 @@ uv pip install -e . --torch-backend=auto ...@@ -72,11 +72,11 @@ uv pip install -e . --torch-backend=auto
```bash ```bash
# Install test dependencies. # Install test dependencies.
# requirements/test.txt is pinned to x86_64; on other platforms, use the # requirements/test/cuda.txt is pinned to x86_64; on other platforms, use the
# unpinned source file instead: # unpinned source file instead:
uv pip install -r requirements/test.in # resolves for current platform uv pip install -r requirements/test/cuda.in # resolves for current platform
# Or on x86_64: # Or on x86_64:
uv pip install -r requirements/test.txt uv pip install -r requirements/test/cuda.txt
# Run a specific test file (use .venv/bin/python directly; # Run a specific test file (use .venv/bin/python directly;
# `source activate` does not persist in non-interactive shells): # `source activate` does not persist in non-interactive shells):
......
...@@ -204,7 +204,7 @@ ARG PYTORCH_CUDA_INDEX_BASE_URL ...@@ -204,7 +204,7 @@ ARG PYTORCH_CUDA_INDEX_BASE_URL
ARG PYTORCH_NIGHTLY ARG PYTORCH_NIGHTLY
# Install build dependencies # Install build dependencies
COPY requirements/build.txt requirements/build.txt COPY requirements/build/cuda.txt requirements/build/cuda.txt
COPY use_existing_torch.py use_existing_torch.py COPY use_existing_torch.py use_existing_torch.py
COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt
...@@ -219,13 +219,13 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -219,13 +219,13 @@ RUN --mount=type=cache,target=/root/.cache/uv \
if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \
echo "Installing build requirements without torch..." \ echo "Installing build requirements without torch..." \
&& python3 use_existing_torch.py --prefix \ && python3 use_existing_torch.py --prefix \
&& uv pip install --python /opt/venv/bin/python3 -r requirements/build.txt \ && uv pip install --python /opt/venv/bin/python3 -r requirements/build/cuda.txt \
&& echo "Installing torch nightly..." \ && echo "Installing torch nightly..." \
&& uv pip install --python /opt/venv/bin/python3 $(cat torch_lib_versions.txt | grep -i "^torch=" | xargs) --pre \ && uv pip install --python /opt/venv/bin/python3 $(cat torch_lib_versions.txt | grep -i "^torch=" | xargs) --pre \
--index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \ --index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \
else \ else \
echo "Installing build requirements..." \ echo "Installing build requirements..." \
&& uv pip install --python /opt/venv/bin/python3 -r requirements/build.txt \ && uv pip install --python /opt/venv/bin/python3 -r requirements/build/cuda.txt \
--extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \ --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \
fi fi
...@@ -355,7 +355,7 @@ ARG PYTORCH_CUDA_INDEX_BASE_URL ...@@ -355,7 +355,7 @@ ARG PYTORCH_CUDA_INDEX_BASE_URL
ARG PYTORCH_NIGHTLY ARG PYTORCH_NIGHTLY
# Install build dependencies # Install build dependencies
COPY requirements/build.txt requirements/build.txt COPY requirements/build/cuda.txt requirements/build/cuda.txt
COPY use_existing_torch.py use_existing_torch.py COPY use_existing_torch.py use_existing_torch.py
COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt
...@@ -370,13 +370,13 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -370,13 +370,13 @@ RUN --mount=type=cache,target=/root/.cache/uv \
if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \
echo "Installing build requirements without torch..." \ echo "Installing build requirements without torch..." \
&& python3 use_existing_torch.py --prefix \ && python3 use_existing_torch.py --prefix \
&& uv pip install --python /opt/venv/bin/python3 -r requirements/build.txt \ && uv pip install --python /opt/venv/bin/python3 -r requirements/build/cuda.txt \
&& echo "Installing torch nightly..." \ && echo "Installing torch nightly..." \
&& uv pip install --python /opt/venv/bin/python3 $(cat torch_lib_versions.txt | grep -i "^torch=" | xargs) --pre \ && uv pip install --python /opt/venv/bin/python3 $(cat torch_lib_versions.txt | grep -i "^torch=" | xargs) --pre \
--index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \ --index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \
else \ else \
echo "Installing build requirements..." \ echo "Installing build requirements..." \
&& uv pip install --python /opt/venv/bin/python3 -r requirements/build.txt \ && uv pip install --python /opt/venv/bin/python3 -r requirements/build/cuda.txt \
--extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \ --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \
fi fi
...@@ -450,8 +450,8 @@ ARG PYTORCH_NIGHTLY ...@@ -450,8 +450,8 @@ ARG PYTORCH_NIGHTLY
# Install development dependencies # Install development dependencies
COPY requirements/lint.txt requirements/lint.txt COPY requirements/lint.txt requirements/lint.txt
COPY requirements/test.in requirements/test.in COPY requirements/test/cuda.in requirements/test/cuda.in
COPY requirements/test.txt requirements/test.txt COPY requirements/test/cuda.txt requirements/test/cuda.txt
COPY requirements/dev.txt requirements/dev.txt COPY requirements/dev.txt requirements/dev.txt
COPY use_existing_torch.py use_existing_torch.py COPY use_existing_torch.py use_existing_torch.py
COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt
...@@ -459,8 +459,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -459,8 +459,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \
if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \
echo "Installing dev requirements plus torch nightly..." \ echo "Installing dev requirements plus torch nightly..." \
&& python3 use_existing_torch.py --prefix \ && python3 use_existing_torch.py --prefix \
&& cat torch_lib_versions.txt >> requirements/test.in \ && cat torch_lib_versions.txt >> requirements/test/cuda.in \
&& uv pip compile requirements/test.in -o requirements/test.txt --index-strategy unsafe-best-match \ && uv pip compile requirements/test/cuda.in -o requirements/test/cuda.txt --index-strategy unsafe-best-match \
--extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') \ --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') \
&& uv pip install --python /opt/venv/bin/python3 $(cat torch_lib_versions.txt | xargs) --pre \ && uv pip install --python /opt/venv/bin/python3 $(cat torch_lib_versions.txt | xargs) --pre \
-r requirements/dev.txt \ -r requirements/dev.txt \
...@@ -727,8 +727,8 @@ ARG PYTORCH_NIGHTLY ...@@ -727,8 +727,8 @@ ARG PYTORCH_NIGHTLY
# Install development dependencies (for testing) # Install development dependencies (for testing)
COPY requirements/lint.txt requirements/lint.txt COPY requirements/lint.txt requirements/lint.txt
COPY requirements/test.in requirements/test.in COPY requirements/test/cuda.in requirements/test/cuda.in
COPY requirements/test.txt requirements/test.txt COPY requirements/test/cuda.txt requirements/test/cuda.txt
COPY requirements/dev.txt requirements/dev.txt COPY requirements/dev.txt requirements/dev.txt
COPY use_existing_torch.py use_existing_torch.py COPY use_existing_torch.py use_existing_torch.py
COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt
...@@ -738,8 +738,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -738,8 +738,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \
if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \
echo "Installing dev requirements plus torch nightly..." \ echo "Installing dev requirements plus torch nightly..." \
&& python3 use_existing_torch.py --prefix \ && python3 use_existing_torch.py --prefix \
&& cat torch_lib_versions.txt >> requirements/test.in \ && cat torch_lib_versions.txt >> requirements/test/cuda.in \
&& uv pip compile requirements/test.in -o requirements/test.txt --index-strategy unsafe-best-match \ && uv pip compile requirements/test/cuda.in -o requirements/test/cuda.txt --index-strategy unsafe-best-match \
--extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') \ --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') \
&& uv pip install --system $(cat torch_lib_versions.txt | xargs) --pre \ && uv pip install --system $(cat torch_lib_versions.txt | xargs) --pre \
-r requirements/dev.txt \ -r requirements/dev.txt \
......
...@@ -107,10 +107,10 @@ RUN if [ "$TARGETARCH" = "arm64" ] && [ "$VLLM_CPU_X86" != "0" ]; then \ ...@@ -107,10 +107,10 @@ RUN if [ "$TARGETARCH" = "arm64" ] && [ "$VLLM_CPU_X86" != "0" ]; then \
fi fi
# Copy build requirements # Copy build requirements
COPY requirements/cpu-build.txt requirements/build.txt COPY requirements/build/cpu.txt requirements/build/cpu.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/cpu.txt
COPY . . COPY . .
...@@ -127,26 +127,26 @@ FROM base AS vllm-test-deps ...@@ -127,26 +127,26 @@ FROM base AS vllm-test-deps
WORKDIR /vllm-workspace WORKDIR /vllm-workspace
# Copy test requirements # Copy test requirements
COPY requirements/test.in requirements/cpu-test.in COPY requirements/test/cuda.in requirements/test/cpu.in
RUN \ RUN \
sed -i '/mamba_ssm/d' requirements/cpu-test.in && \ sed -i '/mamba_ssm/d' requirements/test/cpu.in && \
remove_packages_not_supported_on_aarch64() { \ remove_packages_not_supported_on_aarch64() { \
case "$(uname -m)" in \ case "$(uname -m)" in \
aarch64|arm64) \ aarch64|arm64) \
sed -i '/decord/d' requirements/cpu-test.in; \ sed -i '/decord/d' requirements/test/cpu.in; \
sed -i '/terratorch/d' requirements/cpu-test.in; \ sed -i '/terratorch/d' requirements/test/cpu.in; \
;; \ ;; \
esac; \ esac; \
}; \ }; \
remove_packages_not_supported_on_aarch64 && \ remove_packages_not_supported_on_aarch64 && \
sed -i 's/^torch==.*/torch==2.11.0/g' requirements/cpu-test.in && \ sed -i 's/^torch==.*/torch==2.11.0/g' requirements/test/cpu.in && \
sed -i 's/torchaudio.*/torchaudio/g' requirements/cpu-test.in && \ sed -i 's/torchaudio.*/torchaudio/g' requirements/test/cpu.in && \
sed -i 's/torchvision.*/torchvision/g' requirements/cpu-test.in && \ sed -i 's/torchvision.*/torchvision/g' requirements/test/cpu.in && \
uv pip compile requirements/cpu-test.in -o requirements/cpu-test.txt --index-strategy unsafe-best-match --torch-backend cpu uv pip compile requirements/test/cpu.in -o requirements/test/cpu.txt --index-strategy unsafe-best-match --torch-backend cpu
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install -r requirements/cpu-test.txt uv pip install -r requirements/test/cpu.txt
######################### DEV IMAGE ######################### ######################### DEV IMAGE #########################
FROM vllm-build AS vllm-dev FROM vllm-build AS vllm-dev
...@@ -168,7 +168,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -168,7 +168,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=.git,target=.git \ --mount=type=bind,source=.git,target=.git \
VLLM_TARGET_DEVICE=cpu python3 setup.py develop VLLM_TARGET_DEVICE=cpu python3 setup.py develop
COPY --from=vllm-test-deps /vllm-workspace/requirements/cpu-test.txt requirements/test.txt COPY --from=vllm-test-deps /vllm-workspace/requirements/test/cpu.txt requirements/test/cpu.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 && \
......
...@@ -107,7 +107,7 @@ COPY . . ...@@ -107,7 +107,7 @@ COPY . .
RUN python3 use_existing_torch.py RUN python3 use_existing_torch.py
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install --system -r requirements/build.txt uv pip install --system -r requirements/build/cuda.txt
ARG GIT_REPO_CHECK=0 ARG GIT_REPO_CHECK=0
RUN --mount=type=bind,source=.git,target=.git \ RUN --mount=type=bind,source=.git,target=.git \
...@@ -261,7 +261,7 @@ FROM vllm-base as test ...@@ -261,7 +261,7 @@ FROM vllm-base as test
COPY tests/ tests/ COPY tests/ tests/
# install build and runtime dependencies without stable torch version # install build and runtime dependencies without stable torch version
COPY requirements/nightly_torch_test.txt requirements/nightly_torch_test.txt COPY requirements/test/nightly-torch.txt requirements/test/nightly-torch.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
...@@ -277,7 +277,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -277,7 +277,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
ENV HF_HUB_ENABLE_HF_TRANSFER 1 ENV HF_HUB_ENABLE_HF_TRANSFER 1
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install --system -r requirements/nightly_torch_test.txt uv pip install --system -r requirements/test/nightly-torch.txt
# Logging to confirm the torch versions # Logging to confirm the torch versions
RUN pip freeze | grep -E 'torch|vllm|flashinfer' RUN pip freeze | grep -E 'torch|vllm|flashinfer'
......
...@@ -251,7 +251,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -251,7 +251,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
make -C /numactl install && \ make -C /numactl install && \
# sentencepiece.pc is in some pkgconfig inside uv cache # sentencepiece.pc is in some pkgconfig inside uv cache
export PKG_CONFIG_PATH=$(find / -type d -name "pkgconfig" 2>/dev/null | tr '\n' ':') && \ export PKG_CONFIG_PATH=$(find / -type d -name "pkgconfig" 2>/dev/null | tr '\n' ':') && \
nanobind_DIR=$(uv pip show nanobind | grep Location | sed 's/^Location: //;s/$/\/nanobind\/cmake/') && uv pip install -r /src/requirements/common.txt -r /src/requirements/cpu.txt -r /src/requirements/build.txt --no-build-isolation && \ nanobind_DIR=$(uv pip show nanobind | grep Location | sed 's/^Location: //;s/$/\/nanobind\/cmake/') && uv pip install -r /src/requirements/common.txt -r /src/requirements/cpu.txt -r /src/requirements/build/cuda.txt --no-build-isolation && \
cd /src/ && \ cd /src/ && \
uv build --wheel --out-dir /vllmwheel/ --no-build-isolation && \ uv build --wheel --out-dir /vllmwheel/ --no-build-isolation && \
uv pip install /vllmwheel/*.whl uv pip install /vllmwheel/*.whl
......
...@@ -329,7 +329,7 @@ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \ ...@@ -329,7 +329,7 @@ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \
--mount=type=cache,target=/root/.cache/uv \ --mount=type=cache,target=/root/.cache/uv \
cd /install \ cd /install \
&& uv pip install --system -r requirements/rocm.txt \ && uv pip install --system -r requirements/rocm.txt \
&& uv pip install --system -r requirements/rocm-test.txt \ && uv pip install --system -r requirements/test/rocm.txt \
&& pip uninstall -y vllm \ && pip uninstall -y vllm \
&& uv pip install --system *.whl && uv pip install --system *.whl
......
...@@ -262,7 +262,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ...@@ -262,7 +262,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
$OPENCV_WHL_FILE \ $OPENCV_WHL_FILE \
$OUTLINES_CORE_WHL_FILE \ $OUTLINES_CORE_WHL_FILE \
--index-strategy unsafe-best-match \ --index-strategy unsafe-best-match \
-r requirements/cpu-build.txt \ -r requirements/build/cpu.txt \
-r requirements/cpu.txt -r requirements/cpu.txt
......
...@@ -76,20 +76,14 @@ ENV UV_LINK_MODE="copy" ...@@ -76,20 +76,14 @@ ENV UV_LINK_MODE="copy"
RUN --mount=type=cache,target=/root/.cache/uv \ RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,src=requirements/common.txt,target=/workspace/vllm/requirements/common.txt \ --mount=type=bind,src=requirements/common.txt,target=/workspace/vllm/requirements/common.txt \
--mount=type=bind,src=requirements/xpu.txt,target=/workspace/vllm/requirements/xpu.txt \ --mount=type=bind,src=requirements/xpu.txt,target=/workspace/vllm/requirements/xpu.txt \
--mount=type=bind,src=requirements/xpu-test.in,target=/workspace/vllm/requirements/xpu-test.in \ --mount=type=bind,src=requirements/test/xpu.txt,target=/workspace/vllm/requirements/test/xpu.txt \
uv pip install --upgrade pip && \ uv pip install --upgrade pip && \
uv pip install -r requirements/xpu.txt && \ uv pip install -r requirements/xpu.txt && \
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} && \
uv pip install grpcio-tools protobuf nanobind && \ uv pip install grpcio-tools protobuf nanobind && \
source /opt/intel/oneapi/setvars.sh --force && \ source /opt/intel/oneapi/setvars.sh --force && \
source /opt/intel/oneapi/ccl/2021.15/env/vars.sh --force && \ source /opt/intel/oneapi/ccl/2021.15/env/vars.sh --force && \
export CMAKE_PREFIX_PATH="$(python3 -c 'import site; print(site.getsitepackages()[0])'):${CMAKE_PREFIX_PATH}" && \ export CMAKE_PREFIX_PATH="$(python3 -c 'import site; print(site.getsitepackages()[0])'):${CMAKE_PREFIX_PATH}" && \
uv pip install --no-build-isolation -r /workspace/vllm/requirements/xpu-test.txt uv pip install --no-build-isolation -r /workspace/vllm/requirements/test/xpu.txt
......
...@@ -49,10 +49,10 @@ If you are developing vLLM's Python and CUDA/C++ code, install Pytorch first: ...@@ -49,10 +49,10 @@ If you are developing vLLM's Python and CUDA/C++ code, install Pytorch first:
uv pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu129 uv pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu129
``` ```
Then install the necessary build dependencies from `requirements/build.txt`, skipping `torch` as it was installed in the previous step: Then install the necessary build dependencies from `requirements/build/cuda.txt`, skipping `torch` as it was installed in the previous step:
```bash ```bash
grep -v '^torch==' requirements/build.txt | uv pip install -r - grep -v '^torch==' requirements/build/cuda.txt | uv pip install -r -
``` ```
Finally install vLLM using: Finally install vLLM using:
......
...@@ -16,10 +16,10 @@ Before setting up the incremental build: ...@@ -16,10 +16,10 @@ Before setting up the incremental build:
2. **CUDA Toolkit:** Verify that the NVIDIA CUDA Toolkit is correctly installed and `nvcc` is accessible in your `PATH`. CMake relies on `nvcc` to compile CUDA code. You can typically find `nvcc` in `$CUDA_HOME/bin/nvcc` or by running `which nvcc`. If you encounter issues, refer to the [official CUDA Toolkit installation guides](https://developer.nvidia.com/cuda-toolkit-archive) and vLLM's main [GPU installation documentation](../getting_started/installation/gpu.md#troubleshooting) for troubleshooting. The `CMAKE_CUDA_COMPILER` variable in your `CMakeUserPresets.json` should also point to your `nvcc` binary. 2. **CUDA Toolkit:** Verify that the NVIDIA CUDA Toolkit is correctly installed and `nvcc` is accessible in your `PATH`. CMake relies on `nvcc` to compile CUDA code. You can typically find `nvcc` in `$CUDA_HOME/bin/nvcc` or by running `which nvcc`. If you encounter issues, refer to the [official CUDA Toolkit installation guides](https://developer.nvidia.com/cuda-toolkit-archive) and vLLM's main [GPU installation documentation](../getting_started/installation/gpu.md#troubleshooting) for troubleshooting. The `CMAKE_CUDA_COMPILER` variable in your `CMakeUserPresets.json` should also point to your `nvcc` binary.
3. **Build Tools:** It is highly recommended to install `ccache` for fast rebuilds by caching compilation results (e.g., `sudo apt install ccache` or `conda install ccache`). Also, ensure the core build dependencies like `cmake` and `ninja` are installed. These are installable through `requirements/build.txt` or your system's package manager. 3. **Build Tools:** It is highly recommended to install `ccache` for fast rebuilds by caching compilation results (e.g., `sudo apt install ccache` or `conda install ccache`). Also, ensure the core build dependencies like `cmake` and `ninja` are installed. These are installable through `requirements/build/cuda.txt` or your system's package manager.
```console ```console
uv pip install -r requirements/build.txt --torch-backend=auto uv pip install -r requirements/build/cuda.txt --torch-backend=auto
``` ```
## Setting up the CMake Build Environment ## Setting up the CMake Build Environment
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment