mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2026-09-09 07:07:01 +08:00
[build] add torch to tool.uv no-build-isolation-package (#24303)
Signed-off-by: youkaichao <youkaichao@gmail.com> Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> Co-authored-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
This commit is contained in:
parent
f946197473
commit
f510715882
@ -165,14 +165,14 @@ There are scenarios where the PyTorch dependency cannot be easily installed with
|
|||||||
- Building vLLM with PyTorch nightly or a custom PyTorch build.
|
- Building vLLM with PyTorch nightly or a custom PyTorch build.
|
||||||
- Building vLLM with aarch64 and CUDA (GH200), where the PyTorch wheels are not available on PyPI. Currently, only the PyTorch nightly has wheels for aarch64 with CUDA. You can run `uv pip install --index-url https://download.pytorch.org/whl/nightly/cu128 torch torchvision torchaudio` to [install PyTorch nightly](https://pytorch.org/get-started/locally/) and then build vLLM on top of it.
|
- Building vLLM with aarch64 and CUDA (GH200), where the PyTorch wheels are not available on PyPI. Currently, only the PyTorch nightly has wheels for aarch64 with CUDA. You can run `uv pip install --index-url https://download.pytorch.org/whl/nightly/cu128 torch torchvision torchaudio` to [install PyTorch nightly](https://pytorch.org/get-started/locally/) and then build vLLM on top of it.
|
||||||
|
|
||||||
To build vLLM using an existing PyTorch installation:
|
To build vLLM using an existing PyTorch installation, it is recommended to use `uv`, because it has [a unique mechanism](https://docs.astral.sh/uv/concepts/projects/config/#disabling-build-isolation) for disabling build isolation for specific packages and vLLM leverages this mechanism to specify `torch` as the package to disable build isolation.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# install PyTorch first, either from PyPI or from source
|
||||||
git clone https://github.com/vllm-project/vllm.git
|
git clone https://github.com/vllm-project/vllm.git
|
||||||
cd vllm
|
cd vllm
|
||||||
python use_existing_torch.py
|
# pip install -e . does not work directly, only uv can do this
|
||||||
uv pip install -r requirements/build.txt
|
uv pip install -e .
|
||||||
uv pip install --no-build-isolation -e .
|
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Use the local cutlass for compilation
|
##### Use the local cutlass for compilation
|
||||||
|
|||||||
@ -345,3 +345,6 @@ extend-ignore-re = []
|
|||||||
windo = "windo"
|
windo = "windo"
|
||||||
|
|
||||||
[tool.typos.type.vimscript.extend-words]
|
[tool.typos.type.vimscript.extend-words]
|
||||||
|
|
||||||
|
[tool.uv]
|
||||||
|
no-build-isolation-package = ["torch"]
|
||||||
|
|||||||
@ -1,21 +1,5 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
||||||
|
|
||||||
import glob
|
print("vLLM is now using 'uv' to disable build isolation for 'torch'.")
|
||||||
|
print("Please instead install vLLM with 'uv pip install -e .' (must use 'uv')")
|
||||||
requires_files = glob.glob('requirements/*.txt')
|
|
||||||
requires_files += ["pyproject.toml"]
|
|
||||||
for file in requires_files:
|
|
||||||
print(f">>> cleaning {file}")
|
|
||||||
with open(file) as f:
|
|
||||||
lines = f.readlines()
|
|
||||||
if "torch" in "".join(lines).lower():
|
|
||||||
print("removed:")
|
|
||||||
with open(file, 'w') as f:
|
|
||||||
for line in lines:
|
|
||||||
if 'torch' not in line.lower():
|
|
||||||
f.write(line)
|
|
||||||
else:
|
|
||||||
print(line.strip())
|
|
||||||
print(f"<<< done cleaning {file}")
|
|
||||||
print()
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user