Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
38608797
Unverified
Commit
38608797
authored
Aug 11, 2024
by
tomeras91
Committed by
GitHub
Aug 11, 2024
Browse files
[CI/Build] build on empty device for better dev experience (#4773)
parent
c08e2b30
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
7 deletions
+21
-7
requirements-cuda.txt
requirements-cuda.txt
+2
-2
setup.py
setup.py
+19
-5
No files found.
requirements-cuda.txt
View file @
38608797
...
...
@@ -7,5 +7,5 @@ nvidia-ml-py # for pynvml package
torch == 2.4.0
# These must be updated alongside torch
torchvision == 0.19 # Required for phi3v processor. See https://github.com/pytorch/vision?tab=readme-ov-file#installation for corresponding version
xformers == 0.0.27.post2 # Requires PyTorch 2.4.0
vllm-flash-attn == 2.6.1 # Requires PyTorch 2.4.0
xformers == 0.0.27.post2
; platform_system == 'Linux' and platform_machine == 'x86_64'
# Requires PyTorch 2.4.0
vllm-flash-attn == 2.6.1
; platform_system == 'Linux' and platform_machine == 'x86_64'
# Requires PyTorch 2.4.0
setup.py
View file @
38608797
...
...
@@ -61,9 +61,12 @@ envs = load_module_from_path('envs', os.path.join(ROOT_DIR, 'vllm', 'envs.py'))
VLLM_TARGET_DEVICE
=
envs
.
VLLM_TARGET_DEVICE
# vLLM only supports Linux platform
assert
sys
.
platform
.
startswith
(
"linux"
),
"vLLM only supports Linux platform (including WSL)."
if
not
sys
.
platform
.
startswith
(
"linux"
):
logger
.
warning
(
"vLLM only supports Linux platform (including WSL). "
"Building on %s, "
"so vLLM may not be able to run correctly"
,
sys
.
platform
)
VLLM_TARGET_DEVICE
=
"empty"
MAIN_CUDA_VERSION
=
"12.1"
...
...
@@ -231,6 +234,10 @@ class cmake_build_ext(build_ext):
subprocess
.
check_call
([
"cmake"
,
*
build_args
],
cwd
=
self
.
build_temp
)
def
_no_device
()
->
bool
:
return
VLLM_TARGET_DEVICE
==
"empty"
def
_is_cuda
()
->
bool
:
has_cuda
=
torch
.
version
.
cuda
is
not
None
return
(
VLLM_TARGET_DEVICE
==
"cuda"
and
has_cuda
...
...
@@ -350,7 +357,9 @@ def find_version(filepath: str) -> str:
def
get_vllm_version
()
->
str
:
version
=
find_version
(
get_path
(
"vllm"
,
"version.py"
))
if
_is_cuda
():
if
_no_device
():
version
+=
"+empty"
elif
_is_cuda
():
cuda_version
=
str
(
get_nvcc_cuda_version
())
if
cuda_version
!=
MAIN_CUDA_VERSION
:
cuda_version_str
=
cuda_version
.
replace
(
"."
,
""
)[:
3
]
...
...
@@ -404,7 +413,9 @@ def get_requirements() -> List[str]:
resolved_requirements
.
append
(
line
)
return
resolved_requirements
if
_is_cuda
():
if
_no_device
():
requirements
=
_read_requirements
(
"requirements-cuda.txt"
)
elif
_is_cuda
():
requirements
=
_read_requirements
(
"requirements-cuda.txt"
)
cuda_major
,
cuda_minor
=
torch
.
version
.
cuda
.
split
(
"."
)
modified_requirements
=
[]
...
...
@@ -453,6 +464,9 @@ if envs.VLLM_USE_PRECOMPILED:
ext_modules
=
[]
package_data
[
"vllm"
].
append
(
"*.so"
)
if
_no_device
():
ext_modules
=
[]
setup
(
name
=
"vllm"
,
version
=
get_vllm_version
(),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment