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
7a764a11
Commit
7a764a11
authored
Dec 18, 2025
by
zhuwenwen
Browse files
Merge tag 'v0.13.0rc3' into v0.13.0rc3-ori
parents
a3f8d5dd
f124b567
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
57 additions
and
3 deletions
+57
-3
.buildkite/test-pipeline.yaml
.buildkite/test-pipeline.yaml
+2
-0
vllm/model_executor/layers/quantization/ipex_quant.py
vllm/model_executor/layers/quantization/ipex_quant.py
+35
-0
vllm/model_executor/layers/rotary_embedding/common.py
vllm/model_executor/layers/rotary_embedding/common.py
+9
-0
vllm/v1/worker/workspace.py
vllm/v1/worker/workspace.py
+11
-3
No files found.
.buildkite/test-pipeline.yaml
View file @
7a764a11
...
@@ -1223,6 +1223,8 @@ steps:
...
@@ -1223,6 +1223,8 @@ steps:
# FIXIT: find out which code initialize cuda before running the test
# FIXIT: find out which code initialize cuda before running the test
# before the fix, we need to use spawn to test it
# before the fix, we need to use spawn to test it
-
export VLLM_WORKER_MULTIPROC_METHOD=spawn
-
export VLLM_WORKER_MULTIPROC_METHOD=spawn
# Alot of these tests are on the edge of OOMing
-
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
# There is some Tensor Parallelism related processing logic in LoRA that
# There is some Tensor Parallelism related processing logic in LoRA that
# requires multi-GPU testing for validation.
# requires multi-GPU testing for validation.
-
pytest -v -s -x lora/test_chatglm3_tp.py
-
pytest -v -s -x lora/test_chatglm3_tp.py
...
...
vllm/model_executor/layers/quantization/ipex_quant.py
View file @
7a764a11
...
@@ -27,6 +27,10 @@ from vllm.model_executor.layers.quantization.awq import AWQLinearMethod
...
@@ -27,6 +27,10 @@ from vllm.model_executor.layers.quantization.awq import AWQLinearMethod
from
vllm.model_executor.layers.quantization.fp8
import
Fp8Config
,
Fp8LinearMethod
from
vllm.model_executor.layers.quantization.fp8
import
Fp8Config
,
Fp8LinearMethod
from
vllm.model_executor.layers.quantization.gptq
import
GPTQLinearMethod
from
vllm.model_executor.layers.quantization.gptq
import
GPTQLinearMethod
from
vllm.model_executor.layers.quantization.utils.quant_utils
import
is_layer_skipped
from
vllm.model_executor.layers.quantization.utils.quant_utils
import
is_layer_skipped
from
vllm.model_executor.layers.quantization.utils.w8a8_utils
import
(
maybe_create_device_identity
,
)
from
vllm.model_executor.parameter
import
ModelWeightParameter
from
vllm.model_executor.utils
import
set_weight_attrs
from
vllm.model_executor.utils
import
set_weight_attrs
from
vllm.platforms
import
current_platform
from
vllm.platforms
import
current_platform
...
@@ -305,6 +309,37 @@ class XPUFp8LinearMethod(Fp8LinearMethod):
...
@@ -305,6 +309,37 @@ class XPUFp8LinearMethod(Fp8LinearMethod):
def
__init__
(
self
,
quant_config
:
Fp8Config
):
def
__init__
(
self
,
quant_config
:
Fp8Config
):
super
().
__init__
(
quant_config
)
super
().
__init__
(
quant_config
)
def
create_weights
(
self
,
layer
:
torch
.
nn
.
Module
,
input_size_per_partition
:
int
,
output_partition_sizes
:
list
[
int
],
input_size
:
int
,
output_size
:
int
,
params_dtype
:
torch
.
dtype
,
**
extra_weight_attrs
,
):
maybe_create_device_identity
()
output_size_per_partition
=
sum
(
output_partition_sizes
)
weight_loader
=
extra_weight_attrs
.
get
(
"weight_loader"
)
layer
.
logical_widths
=
output_partition_sizes
layer
.
input_size_per_partition
=
input_size_per_partition
layer
.
output_size_per_partition
=
output_size_per_partition
layer
.
orig_dtype
=
params_dtype
layer
.
weight_block_size
=
None
weight
=
ModelWeightParameter
(
data
=
torch
.
empty
(
output_size_per_partition
,
input_size_per_partition
,
dtype
=
params_dtype
,
),
input_dim
=
1
,
output_dim
=
0
,
weight_loader
=
weight_loader
,
)
layer
.
register_parameter
(
"weight"
,
weight
)
def
process_weights_after_loading
(
self
,
layer
:
Module
)
->
None
:
def
process_weights_after_loading
(
self
,
layer
:
Module
)
->
None
:
# If checkpoint not serialized fp8, quantize the weights.
# If checkpoint not serialized fp8, quantize the weights.
if
not
self
.
quant_config
.
is_checkpoint_fp8_serialized
:
if
not
self
.
quant_config
.
is_checkpoint_fp8_serialized
:
...
...
vllm/model_executor/layers/rotary_embedding/common.py
View file @
7a764a11
...
@@ -264,6 +264,15 @@ class ApplyRotaryEmb(CustomOp):
...
@@ -264,6 +264,15 @@ class ApplyRotaryEmb(CustomOp):
return
output
return
output
def
forward_cpu
(
self
,
x
:
torch
.
Tensor
,
cos
:
torch
.
Tensor
,
sin
:
torch
.
Tensor
,
)
->
torch
.
Tensor
:
# TODO (bigPYJ1151): need to enable fused CPU ROPE here
return
self
.
forward_native
(
x
,
cos
,
sin
)
def
extra_repr
(
self
)
->
str
:
def
extra_repr
(
self
)
->
str
:
s
=
f
"is_neox_style=
{
self
.
is_neox_style
}
"
s
=
f
"is_neox_style=
{
self
.
is_neox_style
}
"
s
+=
f
"enable_fp32_compute=
{
self
.
enable_fp32_compute
}
"
s
+=
f
"enable_fp32_compute=
{
self
.
enable_fp32_compute
}
"
...
...
vllm/v1/worker/workspace.py
View file @
7a764a11
...
@@ -145,12 +145,20 @@ class WorkspaceManager:
...
@@ -145,12 +145,20 @@ class WorkspaceManager:
for
ubatch_id
in
range
(
self
.
_num_ubatches
):
for
ubatch_id
in
range
(
self
.
_num_ubatches
):
current_workspace
=
self
.
_current_workspaces
[
ubatch_id
]
current_workspace
=
self
.
_current_workspaces
[
ubatch_id
]
if
current_workspace
is
None
:
if
(
current_workspace
is
None
or
self
.
_workspace_size_bytes
(
current_workspace
)
<
required_bytes
):
# Delete old tensor before allocating new one to avoid
# memory spike from resize_(). resize_() allocates new
# memory before freeing old, which can cause OOM.
# Must clear the list reference first since local var
# is just a copy of the reference.
self
.
_current_workspaces
[
ubatch_id
]
=
None
del
current_workspace
self
.
_current_workspaces
[
ubatch_id
]
=
torch
.
empty
(
self
.
_current_workspaces
[
ubatch_id
]
=
torch
.
empty
(
(
required_bytes
,),
dtype
=
torch
.
uint8
,
device
=
self
.
_device
(
required_bytes
,),
dtype
=
torch
.
uint8
,
device
=
self
.
_device
)
)
elif
self
.
_workspace_size_bytes
(
current_workspace
)
<
required_bytes
:
current_workspace
.
resize_
(
required_bytes
)
if
envs
.
VLLM_DEBUG_WORKSPACE
:
if
envs
.
VLLM_DEBUG_WORKSPACE
:
logger
.
info
(
logger
.
info
(
...
...
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