From fc645f1acc0f3250210738a026f812db37ae97f6 Mon Sep 17 00:00:00 2001 From: Harry Mellor <19981378+hmellor@users.noreply.github.com> Date: Fri, 10 Apr 2026 21:46:41 +0100 Subject: [PATCH] Add structure to `requirements/` directory (#39024) Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> Co-authored-by: Robert Shaw <114415538+robertgshaw2-redhat@users.noreply.github.com> --- .buildkite/ci_config.yaml | 4 +- .buildkite/ci_config_intel.yaml | 4 +- .../scripts/hardware_ci/run-hpu-test.sh | 2 +- .buildkite/test-amd.yaml | 2 +- .buildkite/test_areas/pytorch.yaml | 2 +- .buildkite/test_areas/quantization.yaml | 2 +- .github/workflows/macos-smoke-test.yml | 2 +- .github/workflows/scripts/build.sh | 2 +- .gitignore | 1 + .pre-commit-config.yaml | 36 ++- AGENTS.md | 6 +- docker/Dockerfile | 28 +- docker/Dockerfile.cpu | 24 +- docker/Dockerfile.nightly_torch | 6 +- docker/Dockerfile.ppc64le | 2 +- docker/Dockerfile.rocm | 2 +- docker/Dockerfile.s390x | 2 +- docker/Dockerfile.xpu | 10 +- docs/contributing/README.md | 4 +- docs/contributing/incremental_build.md | 4 +- .../installation/cpu.arm.inc.md | 4 +- .../installation/cpu.s390x.inc.md | 8 +- .../installation/cpu.x86.inc.md | 4 +- .../installation/gpu.cuda.inc.md | 2 +- docs/mkdocs/hooks/generate_argparse.py | 2 +- pyproject.toml | 2 +- requirements/{cpu-build.txt => build/cpu.txt} | 0 requirements/{build.txt => build/cuda.txt} | 0 .../{rocm-build.txt => build/rocm.txt} | 2 +- requirements/dev.txt | 2 +- requirements/{test.in => test/cuda.in} | 0 requirements/{test.txt => test/cuda.txt} | 136 +++++----- .../nightly-torch.txt} | 0 requirements/{rocm-test.in => test/rocm.in} | 4 +- requirements/{rocm-test.txt => test/rocm.txt} | 244 +++++++++--------- requirements/{xpu-test.in => test/xpu.in} | 0 requirements/{xpu-test.txt => test/xpu.txt} | 114 ++++---- .../pytorch_nightly_dependency.sh | 6 +- tools/generate_cmake_presets.py | 2 +- .../pre_commit/generate_nightly_torch_test.py | 8 +- 40 files changed, 354 insertions(+), 331 deletions(-) rename requirements/{cpu-build.txt => build/cpu.txt} (100%) rename requirements/{build.txt => build/cuda.txt} (100%) rename requirements/{rocm-build.txt => build/rocm.txt} (94%) rename requirements/{test.in => test/cuda.in} (100%) rename requirements/{test.txt => test/cuda.txt} (89%) rename requirements/{nightly_torch_test.txt => test/nightly-torch.txt} (100%) rename requirements/{rocm-test.in => test/rocm.in} (97%) rename requirements/{rocm-test.txt => test/rocm.txt} (85%) rename requirements/{xpu-test.in => test/xpu.in} (100%) rename requirements/{xpu-test.txt => test/xpu.txt} (86%) diff --git a/.buildkite/ci_config.yaml b/.buildkite/ci_config.yaml index b199e554a73..a60a4194e9b 100644 --- a/.buildkite/ci_config.yaml +++ b/.buildkite/ci_config.yaml @@ -8,8 +8,8 @@ run_all_patterns: - "CMakeLists.txt" - "requirements/common.txt" - "requirements/cuda.txt" - - "requirements/build.txt" - - "requirements/test.txt" + - "requirements/build/cuda.txt" + - "requirements/test/cuda.txt" - "setup.py" - "csrc/" - "cmake/" diff --git a/.buildkite/ci_config_intel.yaml b/.buildkite/ci_config_intel.yaml index 375be84a396..a1c0091e0f1 100644 --- a/.buildkite/ci_config_intel.yaml +++ b/.buildkite/ci_config_intel.yaml @@ -6,8 +6,8 @@ run_all_patterns: - "CMakeLists.txt" - "requirements/common.txt" - "requirements/xpu.txt" - - "requirements/build.txt" - - "requirements/test.txt" + - "requirements/build/cuda.txt" + - "requirements/test/cuda.txt" - "setup.py" - "csrc/" - "cmake/" diff --git a/.buildkite/scripts/hardware_ci/run-hpu-test.sh b/.buildkite/scripts/hardware_ci/run-hpu-test.sh index 10df07b2000..0b5d0af4b6f 100644 --- a/.buildkite/scripts/hardware_ci/run-hpu-test.sh +++ b/.buildkite/scripts/hardware_ci/run-hpu-test.sh @@ -42,7 +42,7 @@ WORKDIR /workspace/vllm ENV no_proxy=localhost,127.0.0.1 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 pip install git+https://github.com/vllm-project/vllm-gaudi.git diff --git a/.buildkite/test-amd.yaml b/.buildkite/test-amd.yaml index c7e9e13f2fd..7ef6d120ad9 100644 --- a/.buildkite/test-amd.yaml +++ b/.buildkite/test-amd.yaml @@ -123,7 +123,7 @@ steps: soft_fail: true working_dir: "/vllm-workspace/tests" source_file_dependencies: - - requirements/nightly_torch_test.txt + - requirements/test/nightly-torch.txt - vllm/platforms/rocm.py commands: - bash standalone_tests/pytorch_nightly_dependency.sh diff --git a/.buildkite/test_areas/pytorch.yaml b/.buildkite/test_areas/pytorch.yaml index ad538e91918..a3648219d89 100644 --- a/.buildkite/test_areas/pytorch.yaml +++ b/.buildkite/test_areas/pytorch.yaml @@ -64,6 +64,6 @@ steps: device: h200_18gb soft_fail: true source_file_dependencies: - - requirements/nightly_torch_test.txt + - requirements/test/nightly-torch.txt commands: - bash standalone_tests/pytorch_nightly_dependency.sh diff --git a/.buildkite/test_areas/quantization.yaml b/.buildkite/test_areas/quantization.yaml index 0a395ea5588..a42d59b021c 100644 --- a/.buildkite/test_areas/quantization.yaml +++ b/.buildkite/test_areas/quantization.yaml @@ -9,7 +9,7 @@ steps: - vllm/model_executor/layers/quantization - tests/quantization 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 # since torchao nightly is only compatible with torch nightly currently diff --git a/.github/workflows/macos-smoke-test.yml b/.github/workflows/macos-smoke-test.yml index 3c1a50bf808..b8e7cebf2dc 100644 --- a/.github/workflows/macos-smoke-test.yml +++ b/.github/workflows/macos-smoke-test.yml @@ -32,7 +32,7 @@ jobs: - name: Install dependencies and build vLLM 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 -e . --no-build-isolation env: diff --git a/.github/workflows/scripts/build.sh b/.github/workflows/scripts/build.sh index c69ebbb42da..30c63ee0da9 100644 --- a/.github/workflows/scripts/build.sh +++ b/.github/workflows/scripts/build.sh @@ -9,7 +9,7 @@ PATH=${cuda_home}/bin:$PATH LD_LIBRARY_PATH=${cuda_home}/lib64:$LD_LIBRARY_PATH # 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 export MAX_JOBS=1 diff --git a/.gitignore b/.gitignore index 2fba003c0b4..134bbc5cc89 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ __pycache__/ # Distribution / packaging .Python build/ +!requirements/build/ cmake-build-*/ CMakeUserPresets.json develop-eggs/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f04eebccc6e..33b1db69dec 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,15 +39,24 @@ repos: rev: 0.11.1 hooks: - 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"] - files: ^requirements/test\.(in|txt)$ + args: [ + 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 alias: pip-compile-rocm name: pip-compile-rocm args: [ - requirements/rocm-test.in, -o, requirements/rocm-test.txt, - --index-strategy, unsafe-best-match, + requirements/test/rocm.in, -c, requirements/rocm.txt, + -o, requirements/test/rocm.txt, + --index-strategy, unsafe-best-match, --python-platform, x86_64-manylinux_2_28, --python-version, "3.12", # Exclude torch and CUDA/NVIDIA packages @@ -108,14 +117,27 @@ repos: --no-emit-package, nvidia-nvshmem-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 hooks: - 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 entry: python tools/pre_commit/generate_nightly_torch_test.py - files: ^requirements/test\.(in|txt)$ + files: ^requirements/test/cuda\.(in|txt)$ - id: mypy-local name: Run mypy locally for lowest supported Python version entry: python tools/pre_commit/mypy.py 0 "3.10" diff --git a/AGENTS.md b/AGENTS.md index 61312b29ef7..215e4195eb4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -72,11 +72,11 @@ uv pip install -e . --torch-backend=auto ```bash # 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: -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: -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; # `source activate` does not persist in non-interactive shells): diff --git a/docker/Dockerfile b/docker/Dockerfile index a2fe0971dc3..12942b5c807 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -204,7 +204,7 @@ ARG PYTORCH_CUDA_INDEX_BASE_URL ARG PYTORCH_NIGHTLY # 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 --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt @@ -219,13 +219,13 @@ RUN --mount=type=cache,target=/root/.cache/uv \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing build requirements without torch..." \ && 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..." \ && 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 '.'); \ else \ 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 '.'); \ fi @@ -355,7 +355,7 @@ ARG PYTORCH_CUDA_INDEX_BASE_URL ARG PYTORCH_NIGHTLY # 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 --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt @@ -370,13 +370,13 @@ RUN --mount=type=cache,target=/root/.cache/uv \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing build requirements without torch..." \ && 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..." \ && 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 '.'); \ else \ 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 '.'); \ fi @@ -450,8 +450,8 @@ ARG PYTORCH_NIGHTLY # Install development dependencies COPY requirements/lint.txt requirements/lint.txt -COPY requirements/test.in requirements/test.in -COPY requirements/test.txt requirements/test.txt +COPY requirements/test/cuda.in requirements/test/cuda.in +COPY requirements/test/cuda.txt requirements/test/cuda.txt COPY requirements/dev.txt requirements/dev.txt COPY use_existing_torch.py use_existing_torch.py COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt @@ -459,8 +459,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing dev requirements plus torch nightly..." \ && python3 use_existing_torch.py --prefix \ - && cat torch_lib_versions.txt >> requirements/test.in \ - && uv pip compile requirements/test.in -o requirements/test.txt --index-strategy unsafe-best-match \ + && cat torch_lib_versions.txt >> requirements/test/cuda.in \ + && 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 '.') \ && uv pip install --python /opt/venv/bin/python3 $(cat torch_lib_versions.txt | xargs) --pre \ -r requirements/dev.txt \ @@ -727,8 +727,8 @@ ARG PYTORCH_NIGHTLY # Install development dependencies (for testing) COPY requirements/lint.txt requirements/lint.txt -COPY requirements/test.in requirements/test.in -COPY requirements/test.txt requirements/test.txt +COPY requirements/test/cuda.in requirements/test/cuda.in +COPY requirements/test/cuda.txt requirements/test/cuda.txt COPY requirements/dev.txt requirements/dev.txt COPY use_existing_torch.py use_existing_torch.py COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt @@ -738,8 +738,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing dev requirements plus torch nightly..." \ && python3 use_existing_torch.py --prefix \ - && cat torch_lib_versions.txt >> requirements/test.in \ - && uv pip compile requirements/test.in -o requirements/test.txt --index-strategy unsafe-best-match \ + && cat torch_lib_versions.txt >> requirements/test/cuda.in \ + && 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 '.') \ && uv pip install --system $(cat torch_lib_versions.txt | xargs) --pre \ -r requirements/dev.txt \ diff --git a/docker/Dockerfile.cpu b/docker/Dockerfile.cpu index afcb388beb2..330e510feed 100644 --- a/docker/Dockerfile.cpu +++ b/docker/Dockerfile.cpu @@ -107,10 +107,10 @@ RUN if [ "$TARGETARCH" = "arm64" ] && [ "$VLLM_CPU_X86" != "0" ]; then \ fi # 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 \ - uv pip install -r requirements/build.txt + uv pip install -r requirements/build/cpu.txt COPY . . @@ -127,26 +127,26 @@ FROM base AS vllm-test-deps WORKDIR /vllm-workspace # Copy test requirements -COPY requirements/test.in requirements/cpu-test.in +COPY requirements/test/cuda.in requirements/test/cpu.in 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() { \ case "$(uname -m)" in \ aarch64|arm64) \ - sed -i '/decord/d' requirements/cpu-test.in; \ - sed -i '/terratorch/d' requirements/cpu-test.in; \ + sed -i '/decord/d' requirements/test/cpu.in; \ + sed -i '/terratorch/d' requirements/test/cpu.in; \ ;; \ esac; \ }; \ remove_packages_not_supported_on_aarch64 && \ - sed -i 's/^torch==.*/torch==2.11.0/g' requirements/cpu-test.in && \ - sed -i 's/torchaudio.*/torchaudio/g' requirements/cpu-test.in && \ - sed -i 's/torchvision.*/torchvision/g' requirements/cpu-test.in && \ - uv pip compile requirements/cpu-test.in -o requirements/cpu-test.txt --index-strategy unsafe-best-match --torch-backend cpu + sed -i 's/^torch==.*/torch==2.11.0/g' requirements/test/cpu.in && \ + sed -i 's/torchaudio.*/torchaudio/g' requirements/test/cpu.in && \ + sed -i 's/torchvision.*/torchvision/g' requirements/test/cpu.in && \ + 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 \ - uv pip install -r requirements/cpu-test.txt + uv pip install -r requirements/test/cpu.txt ######################### DEV IMAGE ######################### FROM vllm-build AS vllm-dev @@ -168,7 +168,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ --mount=type=bind,source=.git,target=.git \ 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 \ uv pip install -r requirements/dev.txt && \ diff --git a/docker/Dockerfile.nightly_torch b/docker/Dockerfile.nightly_torch index 045a09a42dc..39e1cc18759 100644 --- a/docker/Dockerfile.nightly_torch +++ b/docker/Dockerfile.nightly_torch @@ -107,7 +107,7 @@ COPY . . RUN python3 use_existing_torch.py 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 RUN --mount=type=bind,source=.git,target=.git \ @@ -261,7 +261,7 @@ FROM vllm-base as test COPY tests/ tests/ # 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 # Reference: https://github.com/astral-sh/uv/pull/1694 @@ -277,7 +277,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ ENV HF_HUB_ENABLE_HF_TRANSFER 1 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 RUN pip freeze | grep -E 'torch|vllm|flashinfer' diff --git a/docker/Dockerfile.ppc64le b/docker/Dockerfile.ppc64le index 07b64a509a4..845d900c39c 100644 --- a/docker/Dockerfile.ppc64le +++ b/docker/Dockerfile.ppc64le @@ -251,7 +251,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ make -C /numactl install && \ # sentencepiece.pc is in some pkgconfig inside uv cache 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/ && \ uv build --wheel --out-dir /vllmwheel/ --no-build-isolation && \ uv pip install /vllmwheel/*.whl diff --git a/docker/Dockerfile.rocm b/docker/Dockerfile.rocm index dde1c784df6..801847d4999 100644 --- a/docker/Dockerfile.rocm +++ b/docker/Dockerfile.rocm @@ -329,7 +329,7 @@ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \ --mount=type=cache,target=/root/.cache/uv \ cd /install \ && 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 \ && uv pip install --system *.whl diff --git a/docker/Dockerfile.s390x b/docker/Dockerfile.s390x index e90f2fdfc4c..6b5d965be76 100644 --- a/docker/Dockerfile.s390x +++ b/docker/Dockerfile.s390x @@ -262,7 +262,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ $OPENCV_WHL_FILE \ $OUTLINES_CORE_WHL_FILE \ --index-strategy unsafe-best-match \ - -r requirements/cpu-build.txt \ + -r requirements/build/cpu.txt \ -r requirements/cpu.txt diff --git a/docker/Dockerfile.xpu b/docker/Dockerfile.xpu index b8ec60a8232..555c1f14420 100644 --- a/docker/Dockerfile.xpu +++ b/docker/Dockerfile.xpu @@ -76,20 +76,14 @@ ENV UV_LINK_MODE="copy" 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/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 -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 && \ source /opt/intel/oneapi/setvars.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}" && \ - 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 diff --git a/docs/contributing/README.md b/docs/contributing/README.md index 24e7d1c5be0..a538a408e98 100644 --- a/docs/contributing/README.md +++ b/docs/contributing/README.md @@ -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 ``` -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 -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: diff --git a/docs/contributing/incremental_build.md b/docs/contributing/incremental_build.md index cc01a60ce1e..6be35af6131 100644 --- a/docs/contributing/incremental_build.md +++ b/docs/contributing/incremental_build.md @@ -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. -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 - 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 diff --git a/docs/getting_started/installation/cpu.arm.inc.md b/docs/getting_started/installation/cpu.arm.inc.md index b266e96db55..8d9cc65f2be 100644 --- a/docs/getting_started/installation/cpu.arm.inc.md +++ b/docs/getting_started/installation/cpu.arm.inc.md @@ -96,14 +96,14 @@ cd vllm_source Third, install required dependencies: ```bash -uv pip install -r requirements/cpu-build.txt --torch-backend cpu +uv pip install -r requirements/build/cpu.txt --torch-backend cpu uv pip install -r requirements/cpu.txt --torch-backend cpu ``` ??? console "pip" ```bash pip install --upgrade pip - pip install -v -r requirements/cpu-build.txt --extra-index-url https://download.pytorch.org/whl/cpu + pip install -v -r requirements/build/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 ``` diff --git a/docs/getting_started/installation/cpu.s390x.inc.md b/docs/getting_started/installation/cpu.s390x.inc.md index eeb20b8bf06..3078c1537c0 100644 --- a/docs/getting_started/installation/cpu.s390x.inc.md +++ b/docs/getting_started/installation/cpu.s390x.inc.md @@ -46,10 +46,10 @@ Execute the following commands to build and install vLLM from source. Please build the following dependencies, `torchvision`, `pyarrow` from source before building vLLM. ```bash - sed -i '/^torch/d' requirements/build.txt # remove torch from requirements/build.txt since we use nightly builds + sed -i '/^torch/d' requirements/build/cuda.txt # remove torch from requirements/build/cuda.txt since we use nightly builds uv pip install -v \ --torch-backend auto \ - -r requirements/build.txt \ + -r requirements/build/cuda.txt \ -r requirements/cpu.txt \ VLLM_TARGET_DEVICE=cpu python setup.py bdist_wheel && \ uv pip install dist/*.whl @@ -57,10 +57,10 @@ Execute the following commands to build and install vLLM from source. ??? console "pip" ```bash - sed -i '/^torch/d' requirements/build.txt # remove torch from requirements/build.txt since we use nightly builds + sed -i '/^torch/d' requirements/build/cuda.txt # remove torch from requirements/build/cuda.txt since we use nightly builds pip install -v \ --extra-index-url https://download.pytorch.org/whl/nightly/cpu \ - -r requirements/build.txt \ + -r requirements/build/cuda.txt \ -r requirements/cpu.txt \ VLLM_TARGET_DEVICE=cpu python setup.py bdist_wheel && \ pip install dist/*.whl diff --git a/docs/getting_started/installation/cpu.x86.inc.md b/docs/getting_started/installation/cpu.x86.inc.md index 8b855e919f4..ad051d22dc8 100644 --- a/docs/getting_started/installation/cpu.x86.inc.md +++ b/docs/getting_started/installation/cpu.x86.inc.md @@ -88,14 +88,14 @@ cd vllm_source Install the required dependencies: ```bash -uv pip install -r requirements/cpu-build.txt --torch-backend cpu +uv pip install -r requirements/build/cpu.txt --torch-backend cpu uv pip install -r requirements/cpu.txt --torch-backend cpu ``` ??? console "pip" ```bash pip install --upgrade pip - pip install -v -r requirements/cpu-build.txt --extra-index-url https://download.pytorch.org/whl/cpu + pip install -v -r requirements/build/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 ``` diff --git a/docs/getting_started/installation/gpu.cuda.inc.md b/docs/getting_started/installation/gpu.cuda.inc.md index e46fecc45cd..0e8dc2e2136 100644 --- a/docs/getting_started/installation/gpu.cuda.inc.md +++ b/docs/getting_started/installation/gpu.cuda.inc.md @@ -162,7 +162,7 @@ To build vLLM using an existing PyTorch installation: git clone https://github.com/vllm-project/vllm.git cd vllm python use_existing_torch.py -uv pip install -r requirements/build.txt +uv pip install -r requirements/build/cuda.txt uv pip install --no-build-isolation -e . ``` diff --git a/docs/mkdocs/hooks/generate_argparse.py b/docs/mkdocs/hooks/generate_argparse.py index 49a845e6c25..a798b8e3453 100644 --- a/docs/mkdocs/hooks/generate_argparse.py +++ b/docs/mkdocs/hooks/generate_argparse.py @@ -46,7 +46,7 @@ mock_if_no_torch( # Mock any version checks by reading from compiled CI requirements -with open(ROOT_DIR / "requirements/test.txt") as f: +with open(ROOT_DIR / "requirements/test/cuda.txt") as f: VERSIONS = dict(line.strip().split("==") for line in f if "==" in line) importlib.metadata.version = lambda name: VERSIONS.get(name) or "0.0.0" diff --git a/pyproject.toml b/pyproject.toml index 660b94fac77..c4951b1a4ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -# Should be mirrored in requirements/build.txt +# Should be mirrored in requirements/build/cuda.txt requires = [ "cmake>=3.26.1", "ninja", diff --git a/requirements/cpu-build.txt b/requirements/build/cpu.txt similarity index 100% rename from requirements/cpu-build.txt rename to requirements/build/cpu.txt diff --git a/requirements/build.txt b/requirements/build/cuda.txt similarity index 100% rename from requirements/build.txt rename to requirements/build/cuda.txt diff --git a/requirements/rocm-build.txt b/requirements/build/rocm.txt similarity index 94% rename from requirements/rocm-build.txt rename to requirements/build/rocm.txt index b71a847c6a7..9e2ea57e1fd 100644 --- a/requirements/rocm-build.txt +++ b/requirements/build/rocm.txt @@ -1,5 +1,5 @@ # Common dependencies --r common.txt +-r ../common.txt --extra-index-url https://download.pytorch.org/whl/rocm7.1 diff --git a/requirements/dev.txt b/requirements/dev.txt index e75821eb4a8..fe0b9eaaf96 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ -r lint.txt --r test.txt +-r test/cuda.txt # Avoid adding requirements directly to this file. # Instead, modify the two files referenced above. diff --git a/requirements/test.in b/requirements/test/cuda.in similarity index 100% rename from requirements/test.in rename to requirements/test/cuda.in diff --git a/requirements/test.txt b/requirements/test/cuda.txt similarity index 89% rename from requirements/test.txt rename to requirements/test/cuda.txt index 5675a2a829a..548ca9310ff 100644 --- a/requirements/test.txt +++ b/requirements/test/cuda.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile 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 +# uv pip compile 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 absl-py==2.1.0 # via # rouge-score @@ -29,7 +29,7 @@ albucore==0.0.16 # via terratorch albumentations==1.4.6 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # terratorch alembic==1.16.4 # via optuna @@ -46,7 +46,7 @@ anyio==4.6.2.post1 # httpx # starlette arctic-inference==0.1.1 - # via -r requirements/test.in + # via -r requirements/test/cuda.in argcomplete==3.5.1 # via datamodel-code-generator arrow==1.3.0 @@ -64,7 +64,7 @@ attrs==24.2.0 audioread==3.0.1 # via librosa av==16.1.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in azure-core==1.38.2 # via # azure-identity @@ -75,16 +75,16 @@ azure-storage-blob==12.28.0 # via runai-model-streamer-azure backoff==2.2.1 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # schemathesis bitsandbytes==0.49.2 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # lightning black==24.10.0 # via datamodel-code-generator blobfile==3.0.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in bm25s==0.2.13 # via mteb boto3==1.35.57 @@ -98,7 +98,7 @@ botocore==1.35.57 bounded-pool-executor==0.0.3 # via pqdm buildkite-test-collector==0.1.9 - # via -r requirements/test.in + # via -r requirements/test/cuda.in cachetools==5.5.2 # via google-auth certifi==2024.8.30 @@ -176,21 +176,21 @@ cupy-cuda12x==13.6.0 cycler==0.12.1 # via matplotlib datamodel-code-generator==0.26.3 - # via -r requirements/test.in + # via -r requirements/test/cuda.in dataproperty==1.0.1 # via # pytablewriter # tabledata datasets==3.3.0 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # evaluate # lm-eval # mteb decorator==5.1.1 # via librosa decord==0.6.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in diffusers==0.36.0 # via terratorch dill==0.3.8 @@ -211,7 +211,7 @@ docstring-parser==0.17.0 # via jsonargparse einops==0.8.1 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # encodec # terratorch # torchgeo @@ -236,7 +236,9 @@ fastparquet==2024.11.0 fastrlock==0.8.2 # via cupy-cuda12x fastsafetensors==0.2.2 - # via -r requirements/test.in + # via + # -c requirements/cuda.txt + # -r requirements/test/cuda.in filelock==3.16.1 # via # -c requirements/common.txt @@ -273,7 +275,7 @@ fsspec==2024.12.0 ftfy==6.3.1 # via open-clip-torch genai-perf==0.0.16 - # via -r requirements/test.in + # via -r requirements/test/cuda.in genson==1.3.0 # via datamodel-code-generator geopandas==1.0.1 @@ -306,19 +308,19 @@ google-resumable-media==2.7.2 googleapis-common-protos==1.70.0 # via google-api-core gpt-oss==0.0.8 - # via -r requirements/test.in + # via -r requirements/test/cuda.in graphql-core==3.2.6 # via hypothesis-graphql greenlet==3.2.3 # via sqlalchemy grpcio==1.78.0 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # grpcio-reflection # ray # tensorboard grpcio-reflection==1.78.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in h11==0.14.0 # via # httpcore @@ -341,7 +343,7 @@ httpcore==1.0.6 # via httpx httpx==0.27.2 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # diffusers # perceptron # schemathesis @@ -386,7 +388,7 @@ idna==3.10 # requests # yarl imagehash==4.3.2 - # via -r requirements/test.in + # via -r requirements/test/cuda.in imageio==2.37.0 # via scikit-image importlib-metadata==8.7.0 @@ -400,7 +402,7 @@ inflect==5.6.2 iniconfig==2.0.0 # via pytest instanttensor==0.1.5 - # via -r requirements/test.in + # via -r requirements/test/cuda.in isodate==0.7.2 # via azure-storage-blob isoduration==20.11.0 @@ -414,7 +416,7 @@ jinja2==3.1.6 # lm-eval # torch jiwer==3.0.5 - # via -r requirements/test.in + # via -r requirements/test/cuda.in jmespath==1.0.1 # via # boto3 @@ -445,7 +447,7 @@ jsonschema-specifications==2024.10.1 junit-xml==1.9 # via schemathesis kaldi-native-fbank==1.22.3 - # via -r requirements/test.in + # via -r requirements/test/cuda.in kaleido==0.2.1 # via genai-perf kiwisolver==1.4.7 @@ -461,7 +463,7 @@ lazy-loader==0.4 libnacl==2.1.0 # via tensorizer librosa==0.10.2.post1 - # via -r requirements/test.in + # via -r requirements/test/cuda.in lightly==1.5.22 # via # terratorch @@ -480,7 +482,7 @@ lightning-utilities==0.14.3 llvmlite==0.44.0 # via numba lm-eval==0.4.11 - # via -r requirements/test.in + # via -r requirements/test/cuda.in lxml==5.3.0 # via # blobfile @@ -499,7 +501,7 @@ markupsafe==3.0.1 # werkzeug matplotlib==3.9.2 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # lightning # pycocotools # torchgeo @@ -513,7 +515,7 @@ mdurl==0.1.2 mistral-common==1.11.0 # via # -c requirements/common.txt - # -r requirements/test.in + # -r requirements/test/cuda.in more-itertools==10.5.0 # via lm-eval mpmath==1.3.0 @@ -529,7 +531,7 @@ msgpack==1.1.0 # librosa # ray mteb==2.8.3 - # via -r requirements/test.in + # via -r requirements/test/cuda.in multidict==6.1.0 # via # aiohttp @@ -547,15 +549,16 @@ networkx==3.2.1 nltk==3.9.1 # via rouge-score num2words==0.5.14 - # via -r requirements/test.in + # via -r requirements/test/cuda.in numba==0.61.2 # via - # -r requirements/test.in + # -c requirements/cuda.txt + # -r requirements/test/cuda.in # librosa # resampy numpy==2.2.6 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # accelerate # albucore # albumentations @@ -661,7 +664,7 @@ omegaconf==2.3.0 # hydra-core # lightning open-clip-torch==2.32.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in openai-harmony==0.0.4 # via # -c requirements/common.txt @@ -673,12 +676,12 @@ opencensus-context==0.1.3 opencv-python-headless==4.13.0.90 # via # -c requirements/common.txt - # -r requirements/test.in + # -r requirements/test/cuda.in # albucore # albumentations # mistral-common openpyxl==3.1.5 - # via -r requirements/test.in + # via -r requirements/test/cuda.in opentelemetry-api==1.35.0 # via # -c requirements/common.txt @@ -754,9 +757,9 @@ pathvalidate==3.2.1 patsy==1.0.1 # via statsmodels peft==0.16.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in perceptron==0.1.4 - # via -r requirements/test.in + # via -r requirements/test/cuda.in perf-analyzer==0.1.0 # via genai-perf pillow==10.4.0 @@ -782,7 +785,7 @@ platformdirs==4.3.6 # wandb plotly==5.24.1 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # genai-perf pluggy==1.5.0 # via @@ -795,7 +798,7 @@ pooch==1.8.2 portalocker==2.10.1 # via sacrebleu pqdm==0.2.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in prometheus-client==0.22.0 # via # -c requirements/common.txt @@ -852,7 +855,7 @@ pycryptodomex==3.22.0 pydantic==2.12.0 # via # -c requirements/common.txt - # -r requirements/test.in + # -r requirements/test/cuda.in # albumentations # datamodel-code-generator # fastapi @@ -891,7 +894,7 @@ pytablewriter==1.2.0 # via lm-eval pytest==8.3.5 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # buildkite-test-collector # genai-perf # pytest-asyncio @@ -904,21 +907,21 @@ pytest==8.3.5 # pytest-timeout # schemathesis pytest-asyncio==0.24.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in pytest-cov==6.3.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in pytest-forked==1.6.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in pytest-mock==3.14.0 # via genai-perf pytest-rerunfailures==14.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in pytest-shard==0.1.2 - # via -r requirements/test.in + # via -r requirements/test/cuda.in pytest-subtests==0.14.1 # via schemathesis pytest-timeout==2.3.1 - # via -r requirements/test.in + # via -r requirements/test/cuda.in python-box==7.3.2 # via terratorch python-dateutil==2.9.0.post0 @@ -972,7 +975,7 @@ rasterio==1.4.3 # terratorch # torchgeo ray==2.48.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in redis==5.2.0 # via tensorizer referencing==0.35.1 @@ -1015,7 +1018,7 @@ requests==2.32.3 # transformers # wandb resampy==0.4.3 - # via -r requirements/test.in + # via -r requirements/test/cuda.in responses==0.25.3 # via genai-perf rfc3339-validator==0.1.4 @@ -1043,7 +1046,7 @@ rsa==4.9.1 rtree==1.4.0 # via torchgeo runai-model-streamer==0.15.7 - # via -r requirements/test.in + # via -r requirements/test/cuda.in runai-model-streamer-azure==0.15.7 # via runai-model-streamer runai-model-streamer-gcs==0.15.7 @@ -1064,7 +1067,7 @@ safetensors==0.4.5 # timm # transformers schemathesis==3.39.15 - # via -r requirements/test.in + # via -r requirements/test/cuda.in scikit-image==0.25.2 # via # albumentations @@ -1091,12 +1094,12 @@ scipy==1.13.1 # vocos segmentation-models-pytorch==0.5.0 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # terratorch # torchgeo sentence-transformers==5.2.0 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # mteb sentry-sdk==2.52.0 # via wandb @@ -1136,7 +1139,7 @@ sortedcontainers==2.4.0 # via hypothesis soundfile==0.12.1 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # genai-perf # librosa # mistral-common @@ -1172,7 +1175,7 @@ tabulate==0.9.0 tacoreader==0.5.6 # via terratorch tblib==3.1.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in tcolorpy==0.1.6 # via pytablewriter tenacity==9.1.2 @@ -1187,13 +1190,13 @@ tensorboard-data-server==0.7.2 tensorboardx==2.6.4 # via lightning tensorizer==2.10.1 - # via -r requirements/test.in + # via -r requirements/test/cuda.in termcolor==3.1.0 # via # gpt-oss # terratorch terratorch==1.2.2 - # via -r requirements/test.in + # via -r requirements/test/cuda.in threadpoolctl==3.5.0 # via scikit-learn tifffile==2025.3.30 @@ -1208,7 +1211,7 @@ tiktoken==0.12.0 # mistral-common timm==1.0.17 # via - # -r requirements/test.in + # -r requirements/test/cuda.in # open-clip-torch # segmentation-models-pytorch # terratorch @@ -1216,7 +1219,7 @@ timm==1.0.17 tokenizers==0.22.0 # via # -c requirements/common.txt - # -r requirements/test.in + # -r requirements/test/cuda.in # transformers tomli==2.2.1 # via schemathesis @@ -1224,7 +1227,8 @@ tomli-w==1.2.0 # via schemathesis torch==2.11.0+cu130 # via - # -r requirements/test.in + # -c requirements/cuda.txt + # -r requirements/test/cuda.in # accelerate # bitsandbytes # encodec @@ -1249,7 +1253,8 @@ torch==2.11.0+cu130 # vocos torchaudio==2.11.0+cu130 # via - # -r requirements/test.in + # -c requirements/cuda.txt + # -r requirements/test/cuda.in # encodec # vocos torchgeo==0.7.0 @@ -1262,7 +1267,8 @@ torchmetrics==1.7.4 # torchgeo torchvision==0.26.0+cu130 # via - # -r requirements/test.in + # -c requirements/cuda.txt + # -r requirements/test/cuda.in # lightly # open-clip-torch # segmentation-models-pytorch @@ -1292,17 +1298,17 @@ tqdm==4.67.3 transformers==4.57.5 # via # -c requirements/common.txt - # -r requirements/test.in + # -r requirements/test/cuda.in # genai-perf # peft # sentence-transformers # transformers-stream-generator transformers-stream-generator==0.0.5 - # via -r requirements/test.in + # via -r requirements/test/cuda.in triton==3.6.0 # via torch tritonclient==2.64.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in typepy==1.3.2 # via # dataproperty @@ -1371,11 +1377,11 @@ urllib3==2.2.3 uvicorn==0.35.0 # via gpt-oss vector-quantize-pytorch==1.21.2 - # via -r requirements/test.in + # via -r requirements/test/cuda.in virtualenv==20.31.2 # via ray vocos==0.1.0 - # via -r requirements/test.in + # via -r requirements/test/cuda.in wandb==0.24.2 # via terratorch wcwidth==0.2.13 diff --git a/requirements/nightly_torch_test.txt b/requirements/test/nightly-torch.txt similarity index 100% rename from requirements/nightly_torch_test.txt rename to requirements/test/nightly-torch.txt diff --git a/requirements/rocm-test.in b/requirements/test/rocm.in similarity index 97% rename from requirements/rocm-test.in rename to requirements/test/rocm.in index 23c3a0f91e0..b5a9451b36f 100644 --- a/requirements/rocm-test.in +++ b/requirements/test/rocm.in @@ -1,4 +1,4 @@ --r common.txt +-r ../common.txt # testing pytest @@ -78,7 +78,7 @@ datasets>=3.3.0,<=3.6.0 openpyxl # required for perf comparison excel report plotly # required for perf comparison html report -# ROCm-specific extras (not in CUDA test.in) +# ROCm-specific extras (not in CUDA cuda.in) rapidfuzz torchgeo==0.7.0 multiprocess==0.70.16 diff --git a/requirements/rocm-test.txt b/requirements/test/rocm.txt similarity index 85% rename from requirements/rocm-test.txt rename to requirements/test/rocm.txt index 36484fd20cb..e1efae912ee 100644 --- a/requirements/rocm-test.txt +++ b/requirements/test/rocm.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile requirements/rocm-test.in -o requirements/rocm-test.txt --index-strategy unsafe-best-match -c requirements/rocm.txt --python-platform x86_64-manylinux_2_28 --python-version 3.12 --no-emit-package torch --no-emit-package torchvision --no-emit-package torchaudio --no-emit-package triton --no-emit-package cuda-bindings --no-emit-package cuda-pathfinder --no-emit-package cuda-toolkit --no-emit-package cupy-cuda12x --no-emit-package nvidia-cublas --no-emit-package nvidia-cuda-cupti --no-emit-package nvidia-cuda-nvrtc --no-emit-package nvidia-cuda-runtime --no-emit-package nvidia-cudnn --no-emit-package nvidia-cufft --no-emit-package nvidia-cufile --no-emit-package nvidia-curand --no-emit-package nvidia-cusolver --no-emit-package nvidia-cusparse --no-emit-package nvidia-cusparselt --no-emit-package nvidia-nccl --no-emit-package nvidia-nvjitlink --no-emit-package nvidia-nvshmem --no-emit-package nvidia-nvtx --no-emit-package nvidia-cublas-cu12 --no-emit-package nvidia-cuda-cupti-cu12 --no-emit-package nvidia-cuda-nvrtc-cu12 --no-emit-package nvidia-cuda-runtime-cu12 --no-emit-package nvidia-cudnn-cu12 --no-emit-package nvidia-cufft-cu12 --no-emit-package nvidia-cufile-cu12 --no-emit-package nvidia-curand-cu12 --no-emit-package nvidia-cusolver-cu12 --no-emit-package nvidia-cusparse-cu12 --no-emit-package nvidia-cusparselt-cu12 --no-emit-package nvidia-nccl-cu12 --no-emit-package nvidia-nvjitlink-cu12 --no-emit-package nvidia-nvshmem-cu12 --no-emit-package nvidia-nvtx-cu12 --no-emit-package nvidia-cublas-cu13 --no-emit-package nvidia-cuda-cupti-cu13 --no-emit-package nvidia-cuda-nvrtc-cu13 --no-emit-package nvidia-cuda-runtime-cu13 --no-emit-package nvidia-cudnn-cu13 --no-emit-package nvidia-cufft-cu13 --no-emit-package nvidia-cufile-cu13 --no-emit-package nvidia-curand-cu13 --no-emit-package nvidia-cusolver-cu13 --no-emit-package nvidia-cusparse-cu13 --no-emit-package nvidia-cusparselt-cu13 --no-emit-package nvidia-nccl-cu13 --no-emit-package nvidia-nvjitlink-cu13 --no-emit-package nvidia-nvshmem-cu13 --no-emit-package nvidia-nvtx-cu13 +# uv pip compile requirements/test/rocm.in -c requirements/rocm.txt -o requirements/test/rocm.txt --index-strategy unsafe-best-match --python-platform x86_64-manylinux_2_28 --python-version 3.12 --no-emit-package torch --no-emit-package torchvision --no-emit-package torchaudio --no-emit-package triton --no-emit-package cuda-bindings --no-emit-package cuda-pathfinder --no-emit-package cuda-toolkit --no-emit-package cupy-cuda12x --no-emit-package nvidia-cublas --no-emit-package nvidia-cuda-cupti --no-emit-package nvidia-cuda-nvrtc --no-emit-package nvidia-cuda-runtime --no-emit-package nvidia-cudnn --no-emit-package nvidia-cufft --no-emit-package nvidia-cufile --no-emit-package nvidia-curand --no-emit-package nvidia-cusolver --no-emit-package nvidia-cusparse --no-emit-package nvidia-cusparselt --no-emit-package nvidia-nccl --no-emit-package nvidia-nvjitlink --no-emit-package nvidia-nvshmem --no-emit-package nvidia-nvtx --no-emit-package nvidia-cublas-cu12 --no-emit-package nvidia-cuda-cupti-cu12 --no-emit-package nvidia-cuda-nvrtc-cu12 --no-emit-package nvidia-cuda-runtime-cu12 --no-emit-package nvidia-cudnn-cu12 --no-emit-package nvidia-cufft-cu12 --no-emit-package nvidia-cufile-cu12 --no-emit-package nvidia-curand-cu12 --no-emit-package nvidia-cusolver-cu12 --no-emit-package nvidia-cusparse-cu12 --no-emit-package nvidia-cusparselt-cu12 --no-emit-package nvidia-nccl-cu12 --no-emit-package nvidia-nvjitlink-cu12 --no-emit-package nvidia-nvshmem-cu12 --no-emit-package nvidia-nvtx-cu12 --no-emit-package nvidia-cublas-cu13 --no-emit-package nvidia-cuda-cupti-cu13 --no-emit-package nvidia-cuda-nvrtc-cu13 --no-emit-package nvidia-cuda-runtime-cu13 --no-emit-package nvidia-cudnn-cu13 --no-emit-package nvidia-cufft-cu13 --no-emit-package nvidia-cufile-cu13 --no-emit-package nvidia-curand-cu13 --no-emit-package nvidia-cusolver-cu13 --no-emit-package nvidia-cusparse-cu13 --no-emit-package nvidia-cusparselt-cu13 --no-emit-package nvidia-nccl-cu13 --no-emit-package nvidia-nvjitlink-cu13 --no-emit-package nvidia-nvshmem-cu13 --no-emit-package nvidia-nvtx-cu13 absl-py==2.4.0 # via # rouge-score @@ -15,7 +15,7 @@ aiohappyeyeballs==2.6.1 aiohttp==3.13.3 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # aiohttp-cors # fsspec # gpt-oss @@ -29,7 +29,7 @@ albucore==0.1.2 # via terratorch albumentations==1.4.6 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # terratorch alembic==1.18.4 # via optuna @@ -42,7 +42,7 @@ annotated-types==0.7.0 anthropic==0.89.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt antlr4-python3-runtime==4.9.3 # via # hydra-core @@ -57,7 +57,7 @@ anyio==4.13.0 # starlette # watchfiles arctic-inference==0.1.1 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in argcomplete==3.6.3 # via datamodel-code-generator arrow==1.4.0 @@ -76,7 +76,7 @@ attrs==26.1.0 audioread==3.0.1 # via librosa av==16.1.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in azure-core==1.39.0 # via # azure-identity @@ -87,18 +87,18 @@ azure-storage-blob==12.28.0 # via runai-model-streamer-azure backoff==2.2.1 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # schemathesis bitsandbytes==0.49.2 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # lightning black==26.3.1 # via datamodel-code-generator blake3==1.0.8 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt blobfile==3.0.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in bm25s==0.2.13 # via mteb boto3==1.42.74 @@ -112,11 +112,11 @@ botocore==1.42.74 bounded-pool-executor==0.0.3 # via pqdm buildkite-test-collector==0.1.9 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in cachetools==7.0.5 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt cbor2==5.9.0 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt certifi==2026.2.25 # via # fiona @@ -162,7 +162,7 @@ cligj==0.7.2 # fiona # rasterio cloudpickle==3.1.2 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt colorama==0.4.6 # via # perceptron @@ -175,7 +175,7 @@ colorlog==6.10.1 compressed-tensors==0.14.0.1 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt contourpy==1.3.3 # via matplotlib coverage==7.13.5 @@ -192,25 +192,25 @@ cryptography==46.0.0 cycler==0.12.1 # via matplotlib datamodel-code-generator==0.55.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in dataproperty==1.1.0 # via # pytablewriter # tabledata datasets==3.6.0 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # evaluate # lm-eval # mteb decorator==5.2.1 # via librosa decord==0.6.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in depyf==0.20.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt diffusers==0.37.0 # via terratorch dill==0.3.8 @@ -223,7 +223,7 @@ dill==0.3.8 diskcache==5.6.3 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt distlib==0.4.0 # via virtualenv distro==1.9.0 @@ -242,8 +242,8 @@ docstring-parser==0.17.0 # jsonargparse einops==0.8.2 # via - # -r requirements/common.txt - # -r requirements/rocm-test.in + # -r requirements/test/../common.txt + # -r requirements/test/rocm.in # encodec # terratorch # torchgeo @@ -264,7 +264,7 @@ evaluate==0.4.6 fastapi==0.135.2 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # gpt-oss # model-hosting-container-standards fastapi-cli==0.0.24 @@ -278,11 +278,11 @@ fastparquet==2026.3.0 fastsafetensors==0.2.2 # via # -c requirements/rocm.txt - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in filelock==3.25.2 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # blobfile # datasets # diffusers @@ -317,7 +317,7 @@ fsspec==2025.3.0 ftfy==6.3.1 # via open-clip-torch genai-perf==0.0.16 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in genson==1.3.0 # via datamodel-code-generator geopandas==1.1.3 @@ -325,7 +325,7 @@ geopandas==1.1.3 gguf==0.18.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt gitdb==4.0.12 # via gitpython gitpython==3.1.46 @@ -357,7 +357,7 @@ googleapis-common-protos==1.73.0 # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http gpt-oss==0.0.8 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in graphql-core==3.2.8 # via hypothesis-graphql greenlet==3.3.2 @@ -365,7 +365,7 @@ greenlet==3.3.2 grpcio==1.78.0 # via # -c requirements/rocm.txt - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # grpcio-reflection # opentelemetry-exporter-otlp-proto-grpc # ray @@ -373,7 +373,7 @@ grpcio==1.78.0 grpcio-reflection==1.78.0 # via # -c requirements/rocm.txt - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in h11==0.16.0 # via # httpcore @@ -398,7 +398,7 @@ httptools==0.7.1 # via uvicorn httpx==0.27.2 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # anthropic # diffusers # fastapi @@ -412,7 +412,7 @@ httpx-sse==0.4.3 # via mcp huggingface-hub==0.36.2 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # accelerate # datasets # diffusers @@ -452,9 +452,9 @@ idna==3.11 # requests # yarl ijson==3.5.0 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt imagehash==4.3.2 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in imageio==2.37.3 # via scikit-image importlib-metadata==8.7.1 @@ -468,7 +468,7 @@ inflect==7.5.0 iniconfig==2.3.0 # via pytest instanttensor==0.1.6 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in interegular==0.3.3 # via lm-format-enforcer isodate==0.7.2 @@ -489,7 +489,7 @@ jiter==0.13.0 # anthropic # openai jiwer==4.0.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in jmespath==1.1.0 # via # boto3 @@ -522,7 +522,7 @@ jsonschema-specifications==2025.9.1 junit-xml==1.9 # via schemathesis kaldi-native-fbank==1.22.3 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in kaleido==1.0.0 # via genai-perf kiwisolver==1.5.0 @@ -534,7 +534,7 @@ kornia-rs==0.1.10 lark==1.2.2 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt lazy-loader==0.4 # via # librosa @@ -542,7 +542,7 @@ lazy-loader==0.4 libnacl==2.1.0 # via tensorizer librosa==0.10.2.post1 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in lightly==1.5.22 # via # terratorch @@ -561,15 +561,15 @@ lightning-utilities==0.15.3 llguidance==1.3.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt llvmlite==0.44.0 # via numba lm-eval==0.4.11 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in lm-format-enforcer==0.11.3 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt logistro==2.0.1 # via # choreographer @@ -594,7 +594,7 @@ markupsafe==3.0.3 # werkzeug matplotlib==3.10.8 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # lightning # torchgeo mbstrdecoder==1.1.4 @@ -603,18 +603,18 @@ mbstrdecoder==1.1.4 # pytablewriter # typepy mcp==1.27.0 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt mdurl==0.1.2 # via markdown-it-py mistral-common==1.11.0 # via # -c requirements/common.txt - # -r requirements/common.txt - # -r requirements/rocm-test.in + # -r requirements/test/../common.txt + # -r requirements/test/rocm.in model-hosting-container-standards==0.1.14 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt more-itertools==10.8.0 # via # inflect @@ -632,16 +632,16 @@ msgpack==1.1.2 # librosa # ray msgspec==0.20.0 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt mteb==2.11.5 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in multidict==6.7.1 # via # aiohttp # yarl multiprocess==0.70.16 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # datasets # evaluate mypy-extensions==1.1.0 @@ -653,23 +653,23 @@ networkx==3.6.1 # scikit-image # torch ninja==1.13.0 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt nltk==3.9.3 # via rouge-score num2words==0.5.14 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in numba==0.61.2 # via # -c requirements/rocm.txt - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # librosa # resampy numkong==7.1.1 # via albucore numpy==2.2.6 # via - # -r requirements/common.txt - # -r requirements/rocm-test.in + # -r requirements/test/../common.txt + # -r requirements/test/rocm.in # accelerate # albucore # albumentations @@ -741,15 +741,15 @@ omegaconf==2.3.0 # hydra-core # lightning open-clip-torch==2.32.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in openai==2.30.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt openai-harmony==0.0.8 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # gpt-oss opencensus==0.11.4 # via ray @@ -758,16 +758,16 @@ opencensus-context==0.1.3 opencv-python-headless==4.13.0.92 # via # -c requirements/common.txt - # -r requirements/common.txt - # -r requirements/rocm-test.in + # -r requirements/test/../common.txt + # -r requirements/test/rocm.in # albumentations # mistral-common openpyxl==3.1.5 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in opentelemetry-api==1.40.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http # opentelemetry-exporter-prometheus @@ -776,7 +776,7 @@ opentelemetry-api==1.40.0 opentelemetry-exporter-otlp==1.40.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt opentelemetry-exporter-otlp-proto-common==1.40.0 # via # opentelemetry-exporter-otlp-proto-grpc @@ -796,7 +796,7 @@ opentelemetry-proto==1.40.0 opentelemetry-sdk==1.40.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http # opentelemetry-exporter-prometheus @@ -809,7 +809,7 @@ opentelemetry-semantic-conventions==0.61b0 opentelemetry-semantic-conventions-ai==0.5.1 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt optuna==3.6.1 # via genai-perf orjson==3.11.7 @@ -819,7 +819,7 @@ orjson==3.11.7 outlines-core==0.2.11 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt packaging==26.0 # via # -c requirements/rocm.txt @@ -870,7 +870,7 @@ pandas==3.0.1 # torchgeo # xarray partial-json-parser==0.2.1.1.post7 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt pathspec==1.0.4 # via black pathvalidate==3.3.1 @@ -878,14 +878,14 @@ pathvalidate==3.3.1 patsy==1.0.2 # via statsmodels peft==0.18.1 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in perceptron==0.1.4 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in perf-analyzer==0.1.0 # via genai-perf pillow==12.1.1 # via - # -r requirements/common.txt + # -r requirements/test/../common.txt # diffusers # genai-perf # imagehash @@ -908,7 +908,7 @@ platformdirs==4.3.6 # wandb plotly==6.6.0 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # genai-perf pluggy==1.6.0 # via @@ -923,18 +923,18 @@ pooch==1.8.2 portalocker==3.2.0 # via sacrebleu pqdm==0.2.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in prometheus-client==0.24.1 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # opentelemetry-exporter-prometheus # prometheus-fastapi-instrumentator # ray prometheus-fastapi-instrumentator==7.1.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt propcache==0.4.1 # via # aiohttp @@ -944,7 +944,7 @@ proto-plus==1.27.1 protobuf==6.33.6 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # google-api-core # googleapis-common-protos # grpcio-reflection @@ -957,14 +957,14 @@ protobuf==6.33.6 # wandb psutil==7.2.2 # via - # -r requirements/common.txt + # -r requirements/test/../common.txt # accelerate # peft # tensorizer py==1.11.0 # via pytest-forked py-cpuinfo==9.0.0 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt py-spy==0.4.1 # via ray pyarrow==23.0.1 @@ -978,7 +978,7 @@ pyasn1==0.6.3 pyasn1-modules==0.4.2 # via google-auth pybase64==1.4.3 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt pycocotools==2.0.11 # via terratorch pycountry==26.2.16 @@ -990,8 +990,8 @@ pycryptodomex==3.23.0 pydantic==2.12.5 # via # -c requirements/common.txt - # -r requirements/common.txt - # -r requirements/rocm-test.in + # -r requirements/test/../common.txt + # -r requirements/test/rocm.in # albumentations # anthropic # compressed-tensors @@ -1047,7 +1047,7 @@ pytablewriter==1.2.1 # via lm-eval pytest==8.3.5 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # buildkite-test-collector # genai-perf # pytest-asyncio @@ -1060,21 +1060,21 @@ pytest==8.3.5 # pytest-timeout # schemathesis pytest-asyncio==0.24.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in pytest-cov==6.3.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in pytest-forked==1.6.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in pytest-mock==3.15.1 # via genai-perf pytest-rerunfailures==14.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in pytest-shard==0.1.2 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in pytest-subtests==0.14.2 # via schemathesis pytest-timeout==2.3.1 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in python-box==7.4.1 # via terratorch python-dateutil==2.9.0.post0 @@ -1092,7 +1092,7 @@ python-dotenv==1.2.2 # pydantic-settings # uvicorn python-json-logger==4.1.0 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt python-multipart==0.0.22 # via # fastapi @@ -1113,7 +1113,7 @@ pywavelets==1.9.0 # via imagehash pyyaml==6.0.3 # via - # -r requirements/common.txt + # -r requirements/test/../common.txt # accelerate # albumentations # datamodel-code-generator @@ -1139,10 +1139,10 @@ pyyaml==6.0.3 pyzmq==27.1.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt rapidfuzz==3.12.1 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # jiwer rasterio==1.5.0 # via @@ -1150,7 +1150,7 @@ rasterio==1.5.0 # terratorch # torchgeo ray==2.54.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in redis==7.3.0 # via tensorizer referencing==0.37.0 @@ -1159,7 +1159,7 @@ referencing==0.37.0 # jsonschema-specifications regex==2026.2.28 # via - # -r requirements/common.txt + # -r requirements/test/../common.txt # diffusers # nltk # open-clip-torch @@ -1169,7 +1169,7 @@ regex==2026.2.28 requests==2.32.5 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # azure-core # buildkite-test-collector # datasets @@ -1197,7 +1197,7 @@ requests==2.32.5 # transformers # wandb resampy==0.4.3 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in responses==0.26.0 # via genai-perf rfc3339-validator==0.1.4 @@ -1232,7 +1232,7 @@ rtree==1.4.1 runai-model-streamer==0.15.7 # via # -c requirements/rocm.txt - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in runai-model-streamer-azure==0.15.7 # via runai-model-streamer runai-model-streamer-gcs==0.15.7 @@ -1253,7 +1253,7 @@ safetensors==0.7.0 # timm # transformers schemathesis==3.39.15 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in scikit-image==0.26.0 # via # albumentations @@ -1281,26 +1281,26 @@ scipy==1.17.1 # vocos segmentation-models-pytorch==0.5.0 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # terratorch # torchgeo sentence-transformers==5.3.0 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # mteb sentencepiece==0.2.1 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt sentry-sdk==2.55.0 # via # fastapi-cloud-cli # wandb setproctitle==1.3.7 - # via -r requirements/common.txt + # via -r requirements/test/../common.txt setuptools==79.0.1 # via # -c requirements/common.txt # -c requirements/rocm.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # model-hosting-container-standards # pytablewriter # tensorboard @@ -1318,7 +1318,7 @@ simplejson==3.20.2 six==1.17.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # junit-xml # lightly # opencensus @@ -1338,7 +1338,7 @@ sortedcontainers==2.4.0 # via hypothesis soundfile==0.13.1 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # genai-perf # librosa # mistral-common @@ -1384,7 +1384,7 @@ tabulate==0.10.0 tacoreader==0.5.6 # via terratorch tblib==3.1.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in tcolorpy==0.1.7 # via pytablewriter tenacity==9.1.4 @@ -1400,13 +1400,13 @@ tensorboardx==2.6.4 tensorizer==2.10.1 # via # -c requirements/rocm.txt - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in termcolor==3.3.0 # via # gpt-oss # terratorch terratorch==1.2.2 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in threadpoolctl==3.6.0 # via scikit-learn tifffile==2026.3.3 @@ -1416,14 +1416,14 @@ tifffile==2026.3.3 tiktoken==0.12.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # gpt-oss # lm-eval # mistral-common timm==1.0.17 # via # -c requirements/rocm.txt - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # open-clip-torch # segmentation-models-pytorch # terratorch @@ -1431,8 +1431,8 @@ timm==1.0.17 tokenizers==0.22.0 # via # -c requirements/common.txt - # -r requirements/common.txt - # -r requirements/rocm-test.in + # -r requirements/test/../common.txt + # -r requirements/test/rocm.in # transformers tomli==2.4.0 # via schemathesis @@ -1440,7 +1440,7 @@ tomli-w==1.2.0 # via schemathesis torchgeo==0.7.0 # via - # -r requirements/rocm-test.in + # -r requirements/test/rocm.in # terratorch torchmetrics==1.9.0 # via @@ -1450,7 +1450,7 @@ torchmetrics==1.9.0 # torchgeo tqdm==4.67.3 # via - # -r requirements/common.txt + # -r requirements/test/../common.txt # datasets # evaluate # gguf @@ -1474,8 +1474,8 @@ tqdm==4.67.3 transformers==4.57.5 # via # -c requirements/common.txt - # -r requirements/common.txt - # -r requirements/rocm-test.in + # -r requirements/test/../common.txt + # -r requirements/test/rocm.in # compressed-tensors # genai-perf # peft @@ -1483,9 +1483,9 @@ transformers==4.57.5 # transformers-stream-generator # xgrammar transformers-stream-generator==0.0.5 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in tritonclient==2.66.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in typeguard==4.5.1 # via inflect typepy==1.3.4 @@ -1504,7 +1504,7 @@ typeshed-client==2.9.0 typing-extensions==4.15.0 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt # aiosignal # albumentations # alembic @@ -1577,16 +1577,16 @@ uvicorn==0.42.0 uvloop==0.22.1 # via uvicorn vector-quantize-pytorch==1.28.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in virtualenv==21.2.0 # via ray vocos==0.1.0 - # via -r requirements/rocm-test.in + # via -r requirements/test/rocm.in wandb==0.25.1 # via terratorch watchfiles==1.1.1 # via - # -r requirements/common.txt + # -r requirements/test/../common.txt # uvicorn wcwidth==0.6.0 # via ftfy @@ -1607,7 +1607,7 @@ xarray==2026.2.0 xgrammar==0.1.33 # via # -c requirements/common.txt - # -r requirements/common.txt + # -r requirements/test/../common.txt xxhash==3.6.0 # via # datasets diff --git a/requirements/xpu-test.in b/requirements/test/xpu.in similarity index 100% rename from requirements/xpu-test.in rename to requirements/test/xpu.in diff --git a/requirements/xpu-test.txt b/requirements/test/xpu.txt similarity index 86% rename from requirements/xpu-test.txt rename to requirements/test/xpu.txt index 2a83fd90f27..4aeb67850bf 100644 --- a/requirements/xpu-test.txt +++ b/requirements/test/xpu.txt @@ -1,11 +1,11 @@ # This file was autogenerated by uv via the following command: -# 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 +# uv pip compile 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 absl-py==2.4.0 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # rouge-score accelerate==1.13.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in aiohappyeyeballs==2.6.1 # via aiohttp aiohttp==3.13.4 @@ -17,7 +17,7 @@ aiohttp==3.13.4 aiosignal==1.4.0 # via aiohttp albumentations==1.4.6 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in annotated-doc==0.0.4 # via fastapi annotated-types==0.7.0 @@ -27,7 +27,7 @@ anyio==4.13.0 # httpx # starlette arctic-inference==0.1.1 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in attrs==26.1.0 # via # aiohttp @@ -36,13 +36,13 @@ attrs==26.1.0 # referencing audioread==3.0.1 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # librosa blobfile==3.0.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in bm25s==0.2.13 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # mteb bounded-pool-executor==0.0.3 # via pqdm @@ -90,7 +90,7 @@ docker==7.1.0 # via gpt-oss docopt==0.6.2 # via num2words -dpcpp-cpp-rt==2025.3.1 +dpcpp-cpp-rt==2025.3.2 # via # onemkl-sycl-blas # onemkl-sycl-dft @@ -124,7 +124,7 @@ fsspec==2026.2.0 # huggingface-hub # torch gpt-oss==0.0.8 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in graphql-core==3.2.8 # via hypothesis-graphql h11==0.16.0 @@ -134,7 +134,7 @@ h11==0.16.0 harfile==0.4.0 # via schemathesis hf-transfer==0.1.9 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in hf-xet==1.4.2 # via huggingface-hub html2text==2025.4.15 @@ -171,27 +171,27 @@ idna==3.11 # yarl imageio==2.37.3 # via scikit-image -impi-rt==2021.17.0 +impi-rt==2021.17.2 # via # oneccl # torch iniconfig==2.3.0 # via pytest -intel-cmplr-lib-rt==2025.3.1 +intel-cmplr-lib-rt==2025.3.2 # via # intel-sycl-rt # torch -intel-cmplr-lib-ur==2025.3.1 +intel-cmplr-lib-ur==2025.3.2 # via # intel-openmp # intel-sycl-rt # torch -intel-cmplr-lic-rt==2025.3.1 +intel-cmplr-lic-rt==2025.3.2 # via # intel-opencl-rt # intel-sycl-rt # torch -intel-opencl-rt==2025.3.1 +intel-opencl-rt==2025.3.2 # via # dpcpp-cpp-rt # onemkl-sycl-blas @@ -200,14 +200,14 @@ intel-opencl-rt==2025.3.1 # onemkl-sycl-rng # onemkl-sycl-sparse # torch -intel-openmp==2025.3.1 +intel-openmp==2025.3.2 # via # dpcpp-cpp-rt # mkl # torch -intel-pti==0.15.0 +intel-pti==0.16.0 # via torch -intel-sycl-rt==2025.3.1 +intel-sycl-rt==2025.3.2 # via # dpcpp-cpp-rt # oneccl @@ -218,7 +218,7 @@ jinja2==3.1.6 # lm-eval # torch jiwer==4.0.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in joblib==1.5.3 # via # librosa @@ -242,11 +242,11 @@ lazy-loader==0.5 # librosa # scikit-image librosa==0.10.2.post1 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in llvmlite==0.44.0 # via numba lm-eval==0.4.11 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in lxml==6.0.2 # via # blobfile @@ -265,11 +265,11 @@ mbstrdecoder==1.1.4 # typepy mdurl==0.1.2 # via markdown-it-py -mistral-common==1.10.0 +mistral-common==1.11.0 # via # -c requirements/common.txt - # -r requirements/xpu-test.in -mkl==2025.3.0 + # -r requirements/test/xpu.in +mkl==2025.3.1 # via # onemkl-sycl-blas # onemkl-sycl-dft @@ -278,7 +278,7 @@ mkl==2025.3.0 # onemkl-sycl-sparse # torch modelscope==1.35.3 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in more-itertools==10.8.0 # via lm-eval mpmath==1.3.0 @@ -286,7 +286,7 @@ mpmath==1.3.0 msgpack==1.1.2 # via librosa mteb==2.12.7 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in multidict==6.7.1 # via # aiohttp @@ -302,7 +302,7 @@ networkx==3.6.1 nltk==3.9.4 # via rouge-score num2words==0.5.14 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in numba==0.61.2 # via # -c requirements/xpu.txt @@ -334,28 +334,28 @@ numpy==2.2.6 # tifffile # torchvision # transformers -oneccl==2021.17.1 +oneccl==2021.17.2 # via # oneccl-devel # torch -oneccl-devel==2021.17.1 +oneccl-devel==2021.17.2 # via torch -onemkl-license==2025.3.0 +onemkl-license==2025.3.1 # via # mkl # torch -onemkl-sycl-blas==2025.3.0 +onemkl-sycl-blas==2025.3.1 # via # onemkl-sycl-lapack # onemkl-sycl-sparse # torch -onemkl-sycl-dft==2025.3.0 +onemkl-sycl-dft==2025.3.1 # via torch -onemkl-sycl-lapack==2025.3.0 +onemkl-sycl-lapack==2025.3.1 # via torch -onemkl-sycl-rng==2025.3.0 +onemkl-sycl-rng==2025.3.1 # via torch -onemkl-sycl-sparse==2025.3.0 +onemkl-sycl-sparse==2025.3.1 # via torch openai-harmony==0.0.8 # via @@ -405,12 +405,12 @@ polars-runtime-32==1.39.3 # via polars pooch==1.8.2 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # librosa portalocker==3.2.0 # via sacrebleu pqdm==0.2.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in propcache==0.4.1 # via # aiohttp @@ -451,13 +451,13 @@ pyrate-limiter==4.1.0 # via schemathesis pystemmer==3.0.0 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # mteb pytablewriter==1.2.1 # via lm-eval pytest==9.0.2 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # pytest-asyncio # pytest-cov # pytest-forked @@ -466,17 +466,17 @@ pytest==9.0.2 # pytest-timeout # schemathesis pytest-asyncio==1.3.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in pytest-cov==6.3.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in pytest-forked==1.6.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in pytest-rerunfailures==14.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in pytest-shard==0.1.2 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in pytest-timeout==2.3.1 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in python-dateutil==2.9.0.post0 # via # pandas @@ -496,7 +496,7 @@ pyyaml==6.0.3 # transformers rapidfuzz==3.12.1 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # jiwer referencing==0.37.0 # via @@ -543,7 +543,7 @@ safetensors==0.7.0 # timm # transformers schemathesis==4.14.2 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in scikit-image==0.26.0 # via albumentations scikit-learn==1.8.0 @@ -582,12 +582,12 @@ sortedcontainers==2.4.0 # via hypothesis soundfile==0.13.1 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # librosa # mistral-common soxr==0.5.0.post1 # via - # -r requirements/xpu-test.in + # -r requirements/test/xpu.in # librosa # mistral-common sqlitedict==2.1.0 @@ -606,13 +606,13 @@ tabledata==1.3.4 # via pytablewriter tabulate==0.10.0 # via sacrebleu -tbb==2022.3.0 +tbb==2022.3.1 # via # intel-opencl-rt # mkl # torch tblib==3.1.0 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in tcmlib==1.4.1 # via # tbb @@ -638,12 +638,12 @@ tiktoken==0.12.0 # lm-eval # mistral-common timm==1.0.17 - # via -r requirements/xpu-test.in + # via -r requirements/test/xpu.in tokenizers==0.22.2 # via # -c requirements/common.txt # transformers -torch==2.10.0+xpu +torch==2.11.0+xpu # via # -c requirements/xpu.txt # accelerate @@ -651,7 +651,7 @@ torch==2.10.0+xpu # sentence-transformers # timm # torchvision -torchvision==0.25.0+xpu +torchvision==0.26.0+xpu # via timm tqdm==4.67.3 # via @@ -669,7 +669,7 @@ transformers==4.57.6 # via # -c requirements/common.txt # sentence-transformers -triton-xpu==3.6.0 +triton-xpu==3.7.0 # via torch typepy==1.3.4 # via @@ -704,7 +704,7 @@ typing-inspection==0.4.2 # via # fastapi # pydantic -umf==1.0.2 +umf==1.0.3 # via # intel-cmplr-lib-ur # torch diff --git a/tests/standalone_tests/pytorch_nightly_dependency.sh b/tests/standalone_tests/pytorch_nightly_dependency.sh index 92820b269f9..3a23b1c824f 100644 --- a/tests/standalone_tests/pytorch_nightly_dependency.sh +++ b/tests/standalone_tests/pytorch_nightly_dependency.sh @@ -28,8 +28,8 @@ uv pip freeze | grep -E '^torch|^torchvision|^torchaudio' | sort > before.txt echo "Before:" cat before.txt -echo ">>> Installing requirements/nightly_torch_test.txt" -uv pip install --quiet -r requirements/nightly_torch_test.txt +echo ">>> Installing requirements/test/nightly-torch.txt" +uv pip install --quiet -r requirements/test/nightly-torch.txt echo ">>> Capturing torch-related versions after requirements install" uv pip freeze | grep -E '^torch|^torchvision|^torchaudio' | sort > after.txt @@ -40,7 +40,7 @@ echo ">>> Comparing versions" if diff before.txt after.txt; then echo "torch version not overridden." else - echo "torch version overridden by nightly_torch_test.txt, \ + echo "torch version overridden by test/nightly-torch.txt, \ if the dependency is not triggered by the pytorch nightly test,\ please add the dependency to the list 'white_list' in tools/pre_commit/generate_nightly_torch_test.py" exit 1 diff --git a/tools/generate_cmake_presets.py b/tools/generate_cmake_presets.py index 85847c2c0fe..6bc8443c447 100644 --- a/tools/generate_cmake_presets.py +++ b/tools/generate_cmake_presets.py @@ -128,7 +128,7 @@ def generate_presets(output_path="CMakeUserPresets.json", force_overwrite=False) presets = { "version": 6, - # Keep in sync with CMakeLists.txt and requirements/build.txt + # Keep in sync with CMakeLists.txt and requirements/build/cuda.txt "cmakeMinimumRequired": {"major": 3, "minor": 26, "patch": 1}, "configurePresets": [configure_preset], "buildPresets": [ diff --git a/tools/pre_commit/generate_nightly_torch_test.py b/tools/pre_commit/generate_nightly_torch_test.py index a3d7f7a609b..354da54df8f 100644 --- a/tools/pre_commit/generate_nightly_torch_test.py +++ b/tools/pre_commit/generate_nightly_torch_test.py @@ -3,15 +3,15 @@ """ Generates specialized requirements files for nightly PyTorch testing. -This script reads the main test requirements input file (`requirements/test.in`) +This script reads the main test requirements input file (`requirements/test/cuda.in`) and splits its content into two files: -1. `requirements/nightly_torch_test.txt`: Contains dependencies +1. `requirements/test/nightly-torch.txt`: Contains dependencies except PyTorch-related. 2. `torch_nightly_test.txt`: Contains only PyTorch-related packages. """ -input_file = "requirements/test.in" -output_file = "requirements/nightly_torch_test.txt" +input_file = "requirements/test/cuda.in" +output_file = "requirements/test/nightly-torch.txt" # white list of packages that are not compatible with PyTorch nightly directly # with pip install. Please add your package to this list if it is not compatible