From 58aa2f1ef1fa993b7178ca454e0807f60e8d3dbc Mon Sep 17 00:00:00 2001 From: Misha Goin Date: Thu, 24 Sep 2026 15:38:56 -0400 Subject: [PATCH] [Refactor] Move auxiliary files out of the repository root (#58572) Signed-off-by: mgoin --- .buildkite/ci_config_rocm.yaml | 2 +- .buildkite/scripts/ci-bake-rocm.sh | 2 +- .../scripts/hardware_ci/run-gh200-test.sh | 2 +- .buildkite/test-amd.yaml | 2 +- .buildkite/test_areas/kernels.yaml | 2 +- .coveragerc | 47 ------------------ .github/CODEOWNERS | 4 +- .../CODE_OF_CONDUCT.md | 0 CONTRIBUTING.md => .github/CONTRIBUTING.md | 0 codecov.yml => .github/codecov.yml | 0 .pre-commit-config.yaml | 4 +- docker/Dockerfile | 38 +++++++-------- docker/Dockerfile.cpu | 22 ++++----- docker/Dockerfile.ppc64le | 4 +- docker/Dockerfile.rock | 12 ++--- docker/Dockerfile.rocm | 10 ++-- docker/Dockerfile.rocm_gfx1250 | 2 +- docker/Dockerfile.xpu | 8 ++-- .../build_vllm_ppc64le.sh | 0 docs/contributing/README.md | 9 +++- .../contributing/release_process.md | 0 .../installation/gpu.cuda.inc.md | 6 +-- .../installation/gpu.rocm.inc.md | 4 +- pyproject.toml | 48 +++++++++++++++++++ rust/README.md | 2 +- tests/kernels/helion/test_benchmark_script.py | 2 +- .../tools/test_docker_build_metadata_args.py | 2 +- {scripts => tools}/autotune_helion_kernels.py | 10 ++-- .../benchmark_helion_kernels.py | 12 ++--- build_rust.sh => tools/build_rust.sh | 4 +- .../pre_commit/.markdownlint.yaml | 0 .../pre_commit/.shellcheckrc | 0 .../use_existing_torch.py | 0 vllm/kernels/helion/config_manager.py | 2 +- vllm/kernels/helion/ops/__init__.py | 2 +- 35 files changed, 134 insertions(+), 130 deletions(-) delete mode 100644 .coveragerc rename CODE_OF_CONDUCT.md => .github/CODE_OF_CONDUCT.md (100%) rename CONTRIBUTING.md => .github/CONTRIBUTING.md (100%) rename codecov.yml => .github/codecov.yml (100%) rename build_vllm_ppc64le.sh => docker/build_vllm_ppc64le.sh (100%) rename RELEASE.md => docs/contributing/release_process.md (100%) rename {scripts => tools}/autotune_helion_kernels.py (97%) rename {scripts => tools}/benchmark_helion_kernels.py (97%) rename build_rust.sh => tools/build_rust.sh (91%) rename .markdownlint.yaml => tools/pre_commit/.markdownlint.yaml (100%) rename .shellcheckrc => tools/pre_commit/.shellcheckrc (100%) rename use_existing_torch.py => tools/use_existing_torch.py (100%) diff --git a/.buildkite/ci_config_rocm.yaml b/.buildkite/ci_config_rocm.yaml index c2da292a83..baeb1af145 100644 --- a/.buildkite/ci_config_rocm.yaml +++ b/.buildkite/ci_config_rocm.yaml @@ -21,7 +21,7 @@ run_all_patterns: - "requirements/test/rocm.txt" - "pyproject.toml" - "setup.py" - - "build_rust.sh" + - "tools/build_rust.sh" - "rust/" - "rust-toolchain.toml" - "tools/build_rust.py" diff --git a/.buildkite/scripts/ci-bake-rocm.sh b/.buildkite/scripts/ci-bake-rocm.sh index 0a9e6e7589..ae81f59e84 100644 --- a/.buildkite/scripts/ci-bake-rocm.sh +++ b/.buildkite/scripts/ci-bake-rocm.sh @@ -23,7 +23,7 @@ DEFAULT_CI_BASE_METADATA_VERSION="3" # local-source stages rather than unreachable remote-fetch alternatives. DEFAULT_ROCM_CSRC_CONTENT_FILES=".dockerignore requirements/common.txt requirements/rocm.txt pyproject.toml setup.py CMakeLists.txt cmake csrc vllm/envs.py vllm/__init__.py tools/build_rust.py" DEFAULT_ROCM_CSRC_DOCKERFILE_STAGES="base fetch_vllm_0 fetch_vllm build_vllm_dependencies rocm-triton-kernels csrc-build" -DEFAULT_ROCM_RUST_CONTENT_FILES=".dockerignore .git_archival.txt pyproject.toml requirements/build/rust.txt rust/Cargo.lock rust/Cargo.toml rust/proto rust/src rust-toolchain.toml tools/build_rust.py build_rust.sh" +DEFAULT_ROCM_RUST_CONTENT_FILES=".dockerignore .git_archival.txt pyproject.toml requirements/build/rust.txt rust/Cargo.lock rust/Cargo.toml rust/proto rust/src rust-toolchain.toml tools/build_rust.py tools/build_rust.sh" DEFAULT_ROCM_RUST_DOCKERFILE_STAGES="base fetch_vllm_0 fetch_vllm vllm-version rust_toolchain_input_0 rust-toolchain-input rust_input_0 rust-input rust-toolchain rust-build" # Docker's 128-character tag limit minus the longest cache prefix # ("csrc-rocm-branch-" and "rust-rocm-branch-", both 17 characters). diff --git a/.buildkite/scripts/hardware_ci/run-gh200-test.sh b/.buildkite/scripts/hardware_ci/run-gh200-test.sh index c95d74d3b4..20295fc25e 100644 --- a/.buildkite/scripts/hardware_ci/run-gh200-test.sh +++ b/.buildkite/scripts/hardware_ci/run-gh200-test.sh @@ -5,7 +5,7 @@ set -ex # Skip the new torch installation during build since we are using the specified version for arm64 in the Dockerfile -python3 use_existing_torch.py +python3 tools/use_existing_torch.py # Try building the docker image DOCKER_BUILDKIT=1 docker build . \ diff --git a/.buildkite/test-amd.yaml b/.buildkite/test-amd.yaml index 326fa3a2ce..55a6a6ff9f 100644 --- a/.buildkite/test-amd.yaml +++ b/.buildkite/test-amd.yaml @@ -327,7 +327,7 @@ steps: working_dir: "/vllm-workspace/tests" source_file_dependencies: - vllm/utils/import_utils.py - - scripts/benchmark_helion_kernels.py + - tools/benchmark_helion_kernels.py - tests/kernels/helion/ - vllm/platforms/rocm.py commands: diff --git a/.buildkite/test_areas/kernels.yaml b/.buildkite/test_areas/kernels.yaml index ba683d58ad..418bb428db 100644 --- a/.buildkite/test_areas/kernels.yaml +++ b/.buildkite/test_areas/kernels.yaml @@ -612,7 +612,7 @@ steps: - image-build-amd source_file_dependencies: - vllm/platforms/rocm.py - - scripts/benchmark_helion_kernels.py + - tools/benchmark_helion_kernels.py - label: ":nvidia: (H100) FP8 MoE Kernels" diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index b7a9fdb4e0..0000000000 --- a/.coveragerc +++ /dev/null @@ -1,47 +0,0 @@ -[run] -# Track the installed vllm package (this is what actually gets imported during tests) -# Use wildcard pattern to match the installed location -source = - vllm - */dist-packages/vllm - */site-packages/vllm -omit = - */tests/* - */test_* - */__pycache__/* - */build/* - */dist/* - */vllm.egg-info/* - */third_party/* - */examples/* - */benchmarks/* - */docs/* - -[paths] -# Map all possible vllm locations to a canonical "vllm" path -# This ensures coverage.combine properly merges data from different test runs -source = - vllm - /vllm-workspace/src/vllm - /vllm-workspace/vllm - */site-packages/vllm - */dist-packages/vllm - -[report] -exclude_lines = - pragma: no cover - def __repr__ - if self.debug: - if settings.DEBUG - raise AssertionError - raise NotImplementedError - if 0: - if __name__ == .__main__.: - class .*\bProtocol\): - @(abc\.)?abstractmethod - -[html] -directory = htmlcov - -[xml] -output = coverage.xml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f64cf5f561..256707fc9a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -50,7 +50,7 @@ # Rust Frontend /rust/ @BugenZhao @njhill /rust/src/bench @esmeetu -/build_rust.sh @BugenZhao @njhill +/tools/build_rust.sh @BugenZhao @njhill /rust-toolchain.toml @BugenZhao @njhill /.buildkite/test_areas/rust* @BugenZhao @njhill @@ -134,7 +134,7 @@ mkdocs.yaml @hmellor # Linting -.markdownlint.yaml @hmellor +/tools/pre_commit/.markdownlint.yaml @hmellor .pre-commit-config.yaml @hmellor /tools/pre_commit @hmellor diff --git a/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to .github/CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/.github/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to .github/CONTRIBUTING.md diff --git a/codecov.yml b/.github/codecov.yml similarity index 100% rename from codecov.yml rename to .github/codecov.yml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4823f788dc..24dcf826fb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -29,7 +29,7 @@ repos: hooks: - id: markdownlint-cli2 language_version: lts - args: [--fix] + args: [--config, tools/pre_commit/.markdownlint.yaml, --fix] exclude: (^|/)CLAUDE\.md$ - repo: https://github.com/rhysd/actionlint rev: v1.7.7 @@ -39,7 +39,7 @@ repos: rev: 745eface02aef23e168a8afb6b5737818efbea95 # v0.11.0.1 hooks: - id: shellcheck - args: ["-s", "bash", "--format=gcc"] + args: ["-s", "bash", "--format=gcc", "--rcfile=tools/pre_commit/.shellcheckrc"] - repo: https://github.com/astral-sh/uv-pre-commit rev: 0.11.1 hooks: diff --git a/docker/Dockerfile b/docker/Dockerfile index 26b6156881..366a9a8752 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -207,7 +207,7 @@ ARG PYTORCH_NIGHTLY # Check whether to install torch nightly instead of release for this build COPY requirements/common.txt requirements/common.txt COPY requirements/cuda.txt requirements/cuda.txt -COPY use_existing_torch.py use_existing_torch.py +COPY tools/use_existing_torch.py tools/use_existing_torch.py COPY pyproject.toml pyproject.toml RUN --mount=type=cache,target=/opt/uv/cache \ --mount=type=bind,source=requirements,target=/tmp/vllm-requirements,ro \ @@ -229,7 +229,7 @@ RUN --mount=type=cache,target=/opt/uv/cache \ fi \ && if [ "${INSTALL_RUBIN_PRERELEASE}" = "true" ]; then \ echo "Installing Rubin prerelease requirements..." \ - && /opt/venv/bin/python3 use_existing_torch.py --prefix \ + && /opt/venv/bin/python3 tools/use_existing_torch.py --prefix \ && uv pip install --python /opt/venv/bin/python3 \ --prerelease=allow --index-strategy unsafe-first-match \ -r /tmp/vllm-requirements/rubin-prerelease.txt \ @@ -243,7 +243,7 @@ RUN --mount=type=cache,target=/opt/uv/cache \ && uv pip install --python /opt/venv/bin/python3 torch torchaudio torchvision --pre \ --index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') \ && echo "Installing other requirements..." \ - && /opt/venv/bin/python3 use_existing_torch.py --prefix \ + && /opt/venv/bin/python3 tools/use_existing_torch.py --prefix \ && uv pip install --python /opt/venv/bin/python3 -r requirements/cuda.txt \ --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); \ else \ @@ -316,12 +316,12 @@ COPY requirements/build/rust.txt requirements/build/rust.txt RUN --mount=type=cache,target=/opt/uv/cache \ uv pip install --python /opt/venv/bin/python3 -r requirements/build/rust.txt -# Copy only the Rust build inputs; build_rust.sh publishes artifacts needed +# Copy only the Rust build inputs; tools/build_rust.sh publishes artifacts needed # by the wheel build stage. COPY rust rust COPY rust-toolchain.toml rust-toolchain.toml COPY tools/build_rust.py tools/build_rust.py -COPY build_rust.sh build_rust.sh +COPY tools/build_rust.sh tools/build_rust.sh # Cap cargo parallelism to avoid exhausting the CI host's open-file limit # (rustc spawns enough concurrent processes to hit RLIMIT_NOFILE otherwise). @@ -341,7 +341,7 @@ RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \ export RUSTC_WRAPPER=sccache; \ sccache --show-stats; \ fi \ - && SETUPTOOLS_SCM_PRETEND_VERSION="0.0.0+docker.cache" bash build_rust.sh \ + && SETUPTOOLS_SCM_PRETEND_VERSION="0.0.0+docker.cache" bash tools/build_rust.sh \ && if [ "$USE_SCCACHE" = "1" ]; then \ sccache --show-stats; \ fi @@ -352,7 +352,7 @@ FROM rust-build-cache AS rust-build RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \ --mount=type=cache,target=/root/.cargo/git,sharing=locked \ --mount=type=bind,source=.git,target=.git \ - SETUPTOOLS_SCM_PRETEND_METADATA="{dirty=false}" bash build_rust.sh + SETUPTOOLS_SCM_PRETEND_METADATA="{dirty=false}" bash tools/build_rust.sh #################### RUST BUILD IMAGE #################### #################### CSRC BUILD IMAGE #################### @@ -368,7 +368,7 @@ ARG PYTORCH_NIGHTLY # Install build dependencies COPY requirements/build/cuda.txt requirements/build/cuda.txt -COPY use_existing_torch.py use_existing_torch.py +COPY tools/use_existing_torch.py tools/use_existing_torch.py COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt # This timeout (in seconds) is necessary when installing some dependencies via uv since it's likely to time out @@ -381,11 +381,11 @@ ENV UV_LINK_MODE=copy RUN --mount=type=cache,target=/opt/uv/cache \ if [ "${INSTALL_RUBIN_PRERELEASE}" = "true" ]; then \ echo "Installing build requirements with Rubin prerelease PyTorch..." \ - && python3 use_existing_torch.py --prefix \ + && python3 tools/use_existing_torch.py --prefix \ && uv pip install --python /opt/venv/bin/python3 -r requirements/build/cuda.txt; \ elif [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing build requirements without torch..." \ - && python3 use_existing_torch.py --prefix \ + && python3 tools/use_existing_torch.py --prefix \ && 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 \ @@ -427,7 +427,7 @@ ENV SETUPTOOLS_SCM_PRETEND_VERSION="0.0.0+csrc.build" RUN --mount=type=cache,target=/opt/uv/cache \ if [ "${PYTORCH_NIGHTLY}" = "1" ] || \ [ "${INSTALL_RUBIN_PRERELEASE}" = "true" ]; then \ - python3 use_existing_torch.py --prefix; \ + python3 tools/use_existing_torch.py --prefix; \ fi # Provision one bare Python per `requires-python` entry; cmake reads @@ -605,7 +605,7 @@ ARG PYTORCH_NIGHTLY # Install build dependencies COPY requirements/build/cuda.txt requirements/build/cuda.txt -COPY use_existing_torch.py use_existing_torch.py +COPY tools/use_existing_torch.py tools/use_existing_torch.py COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt # This timeout (in seconds) is necessary when installing some dependencies via uv since it's likely to time out @@ -618,11 +618,11 @@ ENV UV_LINK_MODE=copy RUN --mount=type=cache,target=/opt/uv/cache \ if [ "${INSTALL_RUBIN_PRERELEASE}" = "true" ]; then \ echo "Installing build requirements with Rubin prerelease PyTorch..." \ - && python3 use_existing_torch.py --prefix \ + && python3 tools/use_existing_torch.py --prefix \ && uv pip install --python /opt/venv/bin/python3 -r requirements/build/cuda.txt; \ elif [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing build requirements without torch..." \ - && python3 use_existing_torch.py --prefix \ + && python3 tools/use_existing_torch.py --prefix \ && 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 \ @@ -658,7 +658,7 @@ ENV VLLM_SKIP_PRECOMPILED_VERSION_SUFFIX=1 RUN --mount=type=cache,target=/opt/uv/cache \ if [ "${PYTORCH_NIGHTLY}" = "1" ] || \ [ "${INSTALL_RUBIN_PRERELEASE}" = "true" ]; then \ - python3 use_existing_torch.py --prefix; \ + python3 tools/use_existing_torch.py --prefix; \ fi \ && if [ "${INSTALL_RUBIN_PRERELEASE}" = "true" ]; then \ sed -Ei '/^[[:space:]]*(flashinfer-python|nvidia-cutlass-dsl\[cu13\]|quack-kernels)[[:space:]]*==/Id' \ @@ -729,12 +729,12 @@ COPY requirements/lint.txt requirements/lint.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 tools/use_existing_torch.py tools/use_existing_torch.py COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt RUN --mount=type=cache,target=/opt/uv/cache \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing dev requirements plus torch nightly..." \ - && python3 use_existing_torch.py --prefix \ + && python3 tools/use_existing_torch.py --prefix \ && 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 '.') \ @@ -1143,14 +1143,14 @@ COPY requirements/lint.txt requirements/lint.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 tools/use_existing_torch.py tools/use_existing_torch.py COPY --from=base /workspace/torch_lib_versions.txt torch_lib_versions.txt RUN --mount=type=cache,target=/opt/uv/cache \ CUDA_MAJOR="${CUDA_VERSION%%.*}"; \ if [ "$CUDA_MAJOR" -ge 12 ]; then \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ echo "Installing dev requirements plus torch nightly..." \ - && python3 use_existing_torch.py --prefix \ + && python3 tools/use_existing_torch.py --prefix \ && 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 '.') \ diff --git a/docker/Dockerfile.cpu b/docker/Dockerfile.cpu index 05d337fa13..36792698a2 100644 --- a/docker/Dockerfile.cpu +++ b/docker/Dockerfile.cpu @@ -119,10 +119,10 @@ ARG PYTORCH_CPU_INDEX_BASE_URL=https://download.pytorch.org/whl # Copy requirements files for installation COPY requirements/common.txt requirements/common.txt COPY requirements/cpu.txt requirements/cpu.txt -COPY use_existing_torch.py use_existing_torch.py +COPY tools/use_existing_torch.py tools/use_existing_torch.py # For nightly: install torch nightly (CPU) first, strip torch pins from the -# requirements via use_existing_torch.py so they can't pull it back to a release +# requirements via tools/use_existing_torch.py so they can't pull it back to a release # build, then install the rest from the nightly CPU index (no --torch-backend, # which would force the stable channel). Release path is unchanged. RUN --mount=type=cache,target=/root/.cache/uv \ @@ -131,7 +131,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ echo "Installing torch nightly (CPU)..." \ && uv pip install torch torchaudio torchvision torchcodec --pre \ --index-url ${PYTORCH_CPU_INDEX_BASE_URL}/nightly/cpu \ - && python3 use_existing_torch.py --prefix \ + && python3 tools/use_existing_torch.py --prefix \ && uv pip install -r requirements/cpu.txt \ --extra-index-url ${PYTORCH_CPU_INDEX_BASE_URL}/nightly/cpu; \ else \ @@ -183,12 +183,12 @@ ENV SCCACHE_REGION=${USE_SCCACHE:+${SCCACHE_REGION_NAME}} # Avoid port collision with vllm-build's own sccache daemon. ENV SCCACHE_SERVER_PORT=4227 -# Copy only the Rust build inputs; build_rust.sh publishes artifacts needed +# Copy only the Rust build inputs; tools/build_rust.sh publishes artifacts needed # by the wheel build stage. COPY rust rust COPY rust-toolchain.toml rust-toolchain.toml COPY tools/build_rust.py tools/build_rust.py -COPY build_rust.sh build_rust.sh +COPY tools/build_rust.sh tools/build_rust.sh # Cap cargo parallelism to avoid exhausting the CI host's open-file limit # (rustc spawns enough concurrent processes to hit RLIMIT_NOFILE otherwise). @@ -210,10 +210,10 @@ RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \ fi; \ sccache --show-stats; \ fi && \ - SETUPTOOLS_SCM_PRETEND_VERSION="0.0.0+docker.cache" bash build_rust.sh && \ + SETUPTOOLS_SCM_PRETEND_VERSION="0.0.0+docker.cache" bash tools/build_rust.sh && \ if [ "$USE_SCCACHE" = "1" ]; then sccache --show-stats; fi -# build_rust.sh installed rustup here via rustup.rs; put it on PATH so the +# tools/build_rust.sh installed rustup here via rustup.rs; put it on PATH so the # child stage below finds it on disk instead of re-downloading it. ENV PATH="/root/.cargo/bin:${PATH}" @@ -223,7 +223,7 @@ FROM rust-build-cache AS rust-build RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \ --mount=type=cache,target=/root/.cargo/git,sharing=locked \ --mount=type=bind,source=.git,target=.git \ - SETUPTOOLS_SCM_PRETEND_METADATA="{dirty=false}" bash build_rust.sh + SETUPTOOLS_SCM_PRETEND_METADATA="{dirty=false}" bash tools/build_rust.sh ######################### SOURCE PREP IMAGE ######################### # Shared prep (source, rust artifacts, build deps) for both vllm-build and @@ -262,7 +262,7 @@ COPY requirements/build/cpu.txt requirements/build/cpu.txt RUN --mount=type=cache,target=/root/.cache/uv \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ - python3 /workspace/use_existing_torch.py --prefix \ + python3 /workspace/tools/use_existing_torch.py --prefix \ && uv pip install -r requirements/build/cpu.txt \ --extra-index-url ${PYTORCH_CPU_INDEX_BASE_URL}/nightly/cpu; \ else \ @@ -287,7 +287,7 @@ RUN if [ "$GIT_REPO_CHECK" != 0 ]; then bash tools/check_repo.sh ; fi # now-unpinned dependency. Done at the end of vllm-src so vllm-build and # vllm-dev, which both derive from it, inherit the unpinned tree. RUN if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ - python3 /workspace/use_existing_torch.py --prefix; \ + python3 /workspace/tools/use_existing_torch.py --prefix; \ fi ######################### BUILD IMAGE ######################### @@ -343,7 +343,7 @@ RUN case "$(uname -m)" in \ RUN --mount=type=cache,target=/root/.cache/uv \ export CFLAGS="${CFLAGS:+${CFLAGS} }-std=gnu17" && \ if [ "${PYTORCH_NIGHTLY}" = "1" ]; then \ - python3 /workspace/use_existing_torch.py --prefix \ + python3 /workspace/tools/use_existing_torch.py --prefix \ && uv pip install -r requirements/test/cpu.txt \ --extra-index-url ${PYTORCH_CPU_INDEX_BASE_URL}/nightly/cpu; \ else \ diff --git a/docker/Dockerfile.ppc64le b/docker/Dockerfile.ppc64le index f0363d43be..1bb08591ca 100644 --- a/docker/Dockerfile.ppc64le +++ b/docker/Dockerfile.ppc64le @@ -36,10 +36,10 @@ COPY pyproject.toml ./ # The script is expected to install whatever python dependencies are missing # as well as whatever system libraries need to be installed from source -COPY build_vllm_*.sh ./ +COPY docker/build_vllm_*.sh docker/ RUN --mount=type=cache,target=/root/.cache/uv \ - sh ./build_vllm_$(uname -m).sh + sh ./docker/build_vllm_$(uname -m).sh # copy vllm source code to build cache COPY . . diff --git a/docker/Dockerfile.rock b/docker/Dockerfile.rock index 16e01ad723..0826db72db 100644 --- a/docker/Dockerfile.rock +++ b/docker/Dockerfile.rock @@ -171,7 +171,7 @@ COPY rust/proto /rust-input/vllm/rust/proto COPY rust/src /rust-input/vllm/rust/src COPY rust-toolchain.toml /rust-input/vllm/rust-toolchain.toml COPY tools/build_rust.py /rust-input/vllm/tools/build_rust.py -COPY build_rust.sh /rust-input/vllm/build_rust.sh +COPY tools/build_rust.sh /rust-input/vllm/tools/build_rust.sh FROM base AS rust_input_1 ARG VLLM_REPO @@ -188,7 +188,7 @@ RUN git clone --no-checkout --filter=blob:none ${VLLM_REPO} /rust-input/vllm \ rust/src/** \ rust-toolchain.toml \ tools/build_rust.py \ - build_rust.sh \ + tools/build_rust.sh \ && git checkout FETCH_HEAD FROM rust_input_${REMOTE_VLLM} AS rust-input @@ -244,7 +244,7 @@ RUN --mount=type=cache,id=vllm-rocm-uv,target=/root/.cache/uv \ COPY --from=rust-input /rust-input/vllm/rust rust COPY --from=rust-input /rust-input/vllm/rust-toolchain.toml rust-toolchain.toml COPY --from=rust-input /rust-input/vllm/tools/build_rust.py tools/build_rust.py -COPY --from=rust-input /rust-input/vllm/build_rust.sh build_rust.sh +COPY --from=rust-input /rust-input/vllm/tools/build_rust.sh tools/build_rust.sh COPY --from=vllm-version /vllm-version.txt /tmp/vllm-version.txt # Build the release binary. Cargo's registry/git caches can be written by @@ -258,7 +258,7 @@ RUN --mount=type=cache,id=vllm-rocm-cargo-registry,target=/root/.cargo/registry, && sccache --show-stats; \ fi \ && export SETUPTOOLS_SCM_PRETEND_VERSION="$(cat /tmp/vllm-version.txt)" \ - && bash build_rust.sh \ + && bash tools/build_rust.sh \ && test -x vllm/vllm-rs \ && if [ "$USE_SCCACHE" = "1" ]; then \ sccache --show-stats; \ @@ -368,7 +368,7 @@ COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/requirements /requirements COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/benchmarks /benchmarks COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tests /tests COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/examples /examples -COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/scripts/benchmark_helion_kernels.py /scripts/benchmark_helion_kernels.py +COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tools/benchmark_helion_kernels.py /tools/benchmark_helion_kernels.py COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tools/install_torchcodec_rocm.sh /tools/install_torchcodec_rocm.sh COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile /docker/Dockerfile COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile.cpu /docker/Dockerfile.cpu @@ -729,7 +729,7 @@ COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/requirements /requir COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/benchmarks /benchmarks COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/tests /tests COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/examples /examples -COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/scripts/benchmark_helion_kernels.py /scripts/benchmark_helion_kernels.py +COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/tools/benchmark_helion_kernels.py /tools/benchmark_helion_kernels.py COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/tools/install_torchcodec_rocm.sh /tools/install_torchcodec_rocm.sh COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile /docker/Dockerfile COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile.cpu /docker/Dockerfile.cpu diff --git a/docker/Dockerfile.rocm b/docker/Dockerfile.rocm index cfd0b4557c..deedb41aaa 100644 --- a/docker/Dockerfile.rocm +++ b/docker/Dockerfile.rocm @@ -171,7 +171,7 @@ COPY rust/proto /rust-input/vllm/rust/proto COPY rust/src /rust-input/vllm/rust/src COPY rust-toolchain.toml /rust-input/vllm/rust-toolchain.toml COPY tools/build_rust.py /rust-input/vllm/tools/build_rust.py -COPY build_rust.sh /rust-input/vllm/build_rust.sh +COPY tools/build_rust.sh /rust-input/vllm/tools/build_rust.sh FROM base AS rust_input_1 ARG VLLM_REPO @@ -188,7 +188,7 @@ RUN git clone --no-checkout --filter=blob:none ${VLLM_REPO} /rust-input/vllm \ rust/src/** \ rust-toolchain.toml \ tools/build_rust.py \ - build_rust.sh \ + tools/build_rust.sh \ && git checkout FETCH_HEAD FROM rust_input_${REMOTE_VLLM} AS rust-input @@ -244,7 +244,7 @@ RUN --mount=type=cache,id=vllm-rocm-uv,target=/root/.cache/uv \ COPY --from=rust-input /rust-input/vllm/rust rust COPY --from=rust-input /rust-input/vllm/rust-toolchain.toml rust-toolchain.toml COPY --from=rust-input /rust-input/vllm/tools/build_rust.py tools/build_rust.py -COPY --from=rust-input /rust-input/vllm/build_rust.sh build_rust.sh +COPY --from=rust-input /rust-input/vllm/tools/build_rust.sh tools/build_rust.sh COPY --from=vllm-version /vllm-version.txt /tmp/vllm-version.txt # Build the release binary. Cargo's registry/git caches can be written by @@ -258,7 +258,7 @@ RUN --mount=type=cache,id=vllm-rocm-cargo-registry,target=/root/.cargo/registry, && sccache --show-stats; \ fi \ && export SETUPTOOLS_SCM_PRETEND_VERSION="$(cat /tmp/vllm-version.txt)" \ - && bash build_rust.sh \ + && bash tools/build_rust.sh \ && test -x vllm/vllm-rs \ && if [ "$USE_SCCACHE" = "1" ]; then \ sccache --show-stats; \ @@ -366,7 +366,6 @@ COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/requirements /requirements COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/benchmarks /benchmarks COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tests /tests COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/examples /examples -COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/scripts/benchmark_helion_kernels.py /scripts/benchmark_helion_kernels.py COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/tools /tools COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile /docker/Dockerfile COPY --from=build_vllm ${COMMON_WORKDIR}/vllm/docker/Dockerfile.cpu /docker/Dockerfile.cpu @@ -749,7 +748,6 @@ COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/requirements /requir COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/benchmarks /benchmarks COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/tests /tests COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/examples /examples -COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/scripts/benchmark_helion_kernels.py /scripts/benchmark_helion_kernels.py COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/tools /tools COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile /docker/Dockerfile COPY --from=build_vllm_wheel_release ${COMMON_WORKDIR}/vllm/docker/Dockerfile.cpu /docker/Dockerfile.cpu diff --git a/docker/Dockerfile.rocm_gfx1250 b/docker/Dockerfile.rocm_gfx1250 index ecb618d990..686a682290 100644 --- a/docker/Dockerfile.rocm_gfx1250 +++ b/docker/Dockerfile.rocm_gfx1250 @@ -166,7 +166,7 @@ RUN --mount=type=cache,id=vllm-rocm-cargo-registry,target=/root/.cargo/registry, --mount=type=cache,id=vllm-rocm-cargo-git,target=/root/.cargo/git,sharing=locked \ cd ${COMMON_WORKDIR}/vllm \ && export SETUPTOOLS_SCM_PRETEND_VERSION="$(cat /tmp/vllm-version.txt)" \ - && bash build_rust.sh \ + && bash tools/build_rust.sh \ && test -x vllm/vllm-rs # ----------------------- diff --git a/docker/Dockerfile.xpu b/docker/Dockerfile.xpu index 3b0df00826..9a33f6ba38 100644 --- a/docker/Dockerfile.xpu +++ b/docker/Dockerfile.xpu @@ -14,12 +14,12 @@ WORKDIR /workspace COPY requirements/build/rust.txt requirements/build/rust.txt RUN python3 -m pip install --no-cache-dir -r requirements/build/rust.txt -# Copy only the Rust build inputs; build_rust.sh publishes artifacts needed +# Copy only the Rust build inputs; tools/build_rust.sh publishes artifacts needed # by the wheel build stage. COPY rust rust COPY rust-toolchain.toml rust-toolchain.toml COPY tools/build_rust.py tools/build_rust.py -COPY build_rust.sh build_rust.sh +COPY tools/build_rust.sh tools/build_rust.sh # Cap cargo parallelism to avoid exhausting the CI host's open-file limit # (rustc spawns enough concurrent processes to hit RLIMIT_NOFILE otherwise). @@ -29,7 +29,7 @@ ENV CARGO_BUILD_JOBS=4 # inputs. The child stage below relinks the crates that embed the exact version. RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \ --mount=type=cache,target=/root/.cargo/git,sharing=locked \ - SETUPTOOLS_SCM_PRETEND_VERSION="0.0.0+docker.cache" bash build_rust.sh + SETUPTOOLS_SCM_PRETEND_VERSION="0.0.0+docker.cache" bash tools/build_rust.sh # Relink with the exact Git-derived package version. FROM rust-build-cache AS rust-build @@ -37,7 +37,7 @@ FROM rust-build-cache AS rust-build RUN --mount=type=cache,target=/root/.cargo/registry,sharing=locked \ --mount=type=cache,target=/root/.cargo/git,sharing=locked \ --mount=type=bind,source=.git,target=.git \ - SETUPTOOLS_SCM_PRETEND_METADATA="{dirty=false}" bash build_rust.sh + SETUPTOOLS_SCM_PRETEND_METADATA="{dirty=false}" bash tools/build_rust.sh FROM ubuntu:24.04 AS vllm-base diff --git a/build_vllm_ppc64le.sh b/docker/build_vllm_ppc64le.sh similarity index 100% rename from build_vllm_ppc64le.sh rename to docker/build_vllm_ppc64le.sh diff --git a/docs/contributing/README.md b/docs/contributing/README.md index e4b86f99ae..d0c2e25315 100644 --- a/docs/contributing/README.md +++ b/docs/contributing/README.md @@ -46,8 +46,8 @@ VLLM_USE_PRECOMPILED=1 uv pip install -e . To rebuild only the Rust frontend binary: ```bash -./build_rust.sh # release build -./build_rust.sh --debug # faster build for development +./tools/build_rust.sh # release build +./tools/build_rust.sh --debug # faster build for development ``` If you are developing vLLM's Python and CUDA/C++ code, install PyTorch first: @@ -89,6 +89,11 @@ pre-commit install vLLM's `pre-commit` hooks will now run automatically every time you commit. +When running ShellCheck or markdownlint directly, or configuring an editor +integration, use the configuration files in `tools/pre_commit/`: +`--rcfile=tools/pre_commit/.shellcheckrc` for ShellCheck and +`--config tools/pre_commit/.markdownlint.yaml` for markdownlint-cli2. + !!! tip "Tips" You can manually run the `pre-commit` hooks using: diff --git a/RELEASE.md b/docs/contributing/release_process.md similarity index 100% rename from RELEASE.md rename to docs/contributing/release_process.md diff --git a/docs/getting_started/installation/gpu.cuda.inc.md b/docs/getting_started/installation/gpu.cuda.inc.md index d110e377da..a0b406e6a4 100644 --- a/docs/getting_started/installation/gpu.cuda.inc.md +++ b/docs/getting_started/installation/gpu.cuda.inc.md @@ -111,8 +111,8 @@ This command will do the following: If you need to recompile the `vllm-rs` Rust frontend binary, you can rebuild and install it without re-running the full pip install: ```bash - ./build_rust.sh # release build - ./build_rust.sh --debug # faster build for development + ./tools/build_rust.sh # release build + ./tools/build_rust.sh --debug # faster build for development ``` This will install the required Rust toolchain if needed, build the binary, and place it in `vllm/vllm-rs`. @@ -183,7 +183,7 @@ To build vLLM using an existing PyTorch installation: # install PyTorch first, either from PyPI or from source git clone https://github.com/vllm-project/vllm.git cd vllm -python use_existing_torch.py +python tools/use_existing_torch.py uv pip install -r requirements/build/cuda.txt uv pip install --no-build-isolation -e . ``` diff --git a/docs/getting_started/installation/gpu.rocm.inc.md b/docs/getting_started/installation/gpu.rocm.inc.md index 0169d01546..28e74b670c 100644 --- a/docs/getting_started/installation/gpu.rocm.inc.md +++ b/docs/getting_started/installation/gpu.rocm.inc.md @@ -187,8 +187,8 @@ If you need to recompile the `vllm-rs` Rust frontend binary, you can rebuild and install it without re-running the full installation: ```bash - ./build_rust.sh # release build - ./build_rust.sh --debug # faster build for development + ./tools/build_rust.sh # release build + ./tools/build_rust.sh --debug # faster build for development ``` This will install the required Rust toolchain if needed, build the binary, diff --git a/pyproject.toml b/pyproject.toml index b5c03b22b7..4a7c018929 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -130,6 +130,54 @@ markers = [ "optional: optional tests that are automatically skipped, include --optional to run them", ] +[tool.coverage.run] +# Track the installed vllm package (this is what actually gets imported during tests) +# Use wildcard pattern to match the installed location +source = ["vllm", "*/dist-packages/vllm", "*/site-packages/vllm"] +omit = [ + "*/tests/*", + "*/test_*", + "*/__pycache__/*", + "*/build/*", + "*/dist/*", + "*/vllm.egg-info/*", + "*/third_party/*", + "*/examples/*", + "*/benchmarks/*", + "*/docs/*", +] + +[tool.coverage.paths] +# Map all possible vllm locations to a canonical "vllm" path +# This ensures coverage.combine properly merges data from different test runs +source = [ + "vllm", + "/vllm-workspace/src/vllm", + "/vllm-workspace/vllm", + "*/site-packages/vllm", + "*/dist-packages/vllm", +] + +[tool.coverage.report] +exclude_lines = [ + 'pragma: no cover', + 'def __repr__', + 'if self.debug:', + 'if settings.DEBUG', + 'raise AssertionError', + 'raise NotImplementedError', + 'if 0:', + 'if __name__ == .__main__.:', + 'class .*\bProtocol\):', + '@(abc\.)?abstractmethod', +] + +[tool.coverage.html] +directory = "htmlcov" + +[tool.coverage.xml] +output = "coverage.xml" + [tool.ty.src] respect-ignore-files = true diff --git a/rust/README.md b/rust/README.md index 0cc33d64f8..140b027b02 100644 --- a/rust/README.md +++ b/rust/README.md @@ -83,7 +83,7 @@ To build the `vllm-rs` in isolation: ```bash # from the local checkout -./build_rust.sh +./tools/build_rust.sh ``` ### Engine-free renderer diff --git a/tests/kernels/helion/test_benchmark_script.py b/tests/kernels/helion/test_benchmark_script.py index a42eea00c4..c593412843 100644 --- a/tests/kernels/helion/test_benchmark_script.py +++ b/tests/kernels/helion/test_benchmark_script.py @@ -9,7 +9,7 @@ from vllm.utils.import_utils import has_helion if not has_helion(): pytest.skip("Helion is not installed", allow_module_level=True) -from scripts import benchmark_helion_kernels +from tools import benchmark_helion_kernels check_correctness = benchmark_helion_kernels.check_correctness diff --git a/tests/tools/test_docker_build_metadata_args.py b/tests/tools/test_docker_build_metadata_args.py index 127768afc7..d7b6579088 100644 --- a/tests/tools/test_docker_build_metadata_args.py +++ b/tests/tools/test_docker_build_metadata_args.py @@ -177,7 +177,7 @@ def test_rust_build_cache_excludes_git_metadata() -> None: assert "source=.git,target=.git" not in cached_run assert "source=.git,target=.git" in exact_version_stage assert 'SETUPTOOLS_SCM_PRETEND_METADATA="{dirty=false}"' in exact_version_stage - assert "bash build_rust.sh" in exact_version_stage + assert "bash tools/build_rust.sh" in exact_version_stage def test_rocm_ci_base_bake_embeds_content_hash_label() -> None: diff --git a/scripts/autotune_helion_kernels.py b/tools/autotune_helion_kernels.py similarity index 97% rename from scripts/autotune_helion_kernels.py rename to tools/autotune_helion_kernels.py index e6352a40af..8b63b002c5 100644 --- a/scripts/autotune_helion_kernels.py +++ b/tools/autotune_helion_kernels.py @@ -5,19 +5,19 @@ Usage: # Autotune all registered kernels - python scripts/autotune_helion_kernels.py + python tools/autotune_helion_kernels.py # Autotune specific kernel - python scripts/autotune_helion_kernels.py --kernels silu_mul_fp8 + python tools/autotune_helion_kernels.py --kernels silu_mul_fp8 # Autotune multiple kernels - python scripts/autotune_helion_kernels.py --kernels silu_mul_fp8 rms_norm_fp8 + python tools/autotune_helion_kernels.py --kernels silu_mul_fp8 rms_norm_fp8 # Force re-autotuning - python scripts/autotune_helion_kernels.py --force + python tools/autotune_helion_kernels.py --force # List available kernels - python scripts/autotune_helion_kernels.py --list + python tools/autotune_helion_kernels.py --list """ import argparse diff --git a/scripts/benchmark_helion_kernels.py b/tools/benchmark_helion_kernels.py similarity index 97% rename from scripts/benchmark_helion_kernels.py rename to tools/benchmark_helion_kernels.py index 04350896af..2c0a5e976d 100644 --- a/scripts/benchmark_helion_kernels.py +++ b/tools/benchmark_helion_kernels.py @@ -22,25 +22,25 @@ Two baselines are supported (``--baseline``): Usage: # List available kernels - python scripts/benchmark_helion_kernels.py --list + python tools/benchmark_helion_kernels.py --list # Benchmark a kernel against the autotune baseline (default) - python scripts/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant + python tools/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant # Benchmark against the CUDA baseline - python scripts/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ + python tools/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ --baseline cuda # Check numerics against the performance baseline instead of eager - python scripts/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ + python tools/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ --baseline cuda --numerics-with-perf-baseline # Disable CUDA graph capture and save results - python scripts/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ + python tools/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ --no-cudagraph --output results.json # Only verify numerics, skipping the timing runs - python scripts/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ + python tools/benchmark_helion_kernels.py --kernel per_token_group_fp8_quant \\ --numerics-only """ diff --git a/build_rust.sh b/tools/build_rust.sh similarity index 91% rename from build_rust.sh rename to tools/build_rust.sh index 1efc1ce39f..eaf4868972 100755 --- a/build_rust.sh +++ b/tools/build_rust.sh @@ -1,13 +1,13 @@ #!/bin/bash # Build vLLM Rust artifacts and install them into the vllm package. -# Usage: ./build_rust.sh [--debug] +# Usage: ./tools/build_rust.sh [--debug] # # By default builds in release mode. Pass --debug for faster compile times # during development. set -euo pipefail -REPO_ROOT="$(cd "$(dirname "$0")" && pwd)" +REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)" # Read the required toolchain from rust-toolchain.toml. TOOLCHAIN=$(grep '^channel' "$REPO_ROOT/rust-toolchain.toml" | sed 's/.*= *"\(.*\)"/\1/') diff --git a/.markdownlint.yaml b/tools/pre_commit/.markdownlint.yaml similarity index 100% rename from .markdownlint.yaml rename to tools/pre_commit/.markdownlint.yaml diff --git a/.shellcheckrc b/tools/pre_commit/.shellcheckrc similarity index 100% rename from .shellcheckrc rename to tools/pre_commit/.shellcheckrc diff --git a/use_existing_torch.py b/tools/use_existing_torch.py similarity index 100% rename from use_existing_torch.py rename to tools/use_existing_torch.py diff --git a/vllm/kernels/helion/config_manager.py b/vllm/kernels/helion/config_manager.py index 8887cdaea4..ca157d461c 100644 --- a/vllm/kernels/helion/config_manager.py +++ b/vllm/kernels/helion/config_manager.py @@ -74,7 +74,7 @@ class ConfigSet: f"If your GPU is a variant of a supported platform, " f"consider adding a mapping in _GPU_NAME_ALIASES in " f"vllm/kernels/helion/utils.py, or run " - f"scripts/autotune_helion_kernels.py to generate configs " + f"tools/autotune_helion_kernels.py to generate configs " f"for your platform." ) diff --git a/vllm/kernels/helion/ops/__init__.py b/vllm/kernels/helion/ops/__init__.py index 0fb82f6cfe..e184cc93bf 100644 --- a/vllm/kernels/helion/ops/__init__.py +++ b/vllm/kernels/helion/ops/__init__.py @@ -9,7 +9,7 @@ specific op module it needs, e.g.:: which triggers that op's ``@register_kernel`` as an import side effect. -Tools that need the full registry (e.g. scripts/autotune_helion_kernels.py) +Tools that need the full registry (e.g. tools/autotune_helion_kernels.py) call ``import_all_ops()`` to force every op module to register. """