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
69311446
Unverified
Commit
69311446
authored
Sep 27, 2025
by
Roger Wang
Committed by
GitHub
Sep 28, 2025
Browse files
[MM] Optimize memory profiling for scattered multimodal embeddings (#25810)
Signed-off-by:
Roger Wang
<
hey@rogerw.io
>
parent
da63274d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
0 deletions
+17
-0
vllm/v1/worker/gpu_model_runner.py
vllm/v1/worker/gpu_model_runner.py
+17
-0
No files found.
vllm/v1/worker/gpu_model_runner.py
View file @
69311446
...
...
@@ -3429,6 +3429,23 @@ class GPUModelRunner(LoRAModelRunnerMixin, KVConnectorModelRunnerMixin):
expected_num_items
=
max_mm_items_per_batch
,
)
# NOTE: This happens when encoder cache needs to store
# the embeddings that encoder outputs are scattered onto.
# In this case we create dummy embeddings of size
# (encode_budget, hidden_size) and scatter encoder
# output into it.
encoder_output_shape
=
dummy_encoder_outputs
[
0
].
shape
if
encoder_output_shape
[
0
]
<
encoder_budget
:
expanded_outputs
=
[]
for
output
in
dummy_encoder_outputs
:
expanded
=
output
.
new_zeros
(
(
encoder_budget
,
encoder_output_shape
[
-
1
]))
num_tokens
=
output
.
shape
[
0
]
expanded
[:
num_tokens
].
copy_
(
output
)
expanded_outputs
.
append
(
expanded
)
dummy_encoder_outputs
=
expanded_outputs
# Cache the dummy encoder outputs.
self
.
encoder_cache
[
"tmp"
]
=
dict
(
enumerate
(
dummy_encoder_outputs
))
...
...
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