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
0cd259b2
Unverified
Commit
0cd259b2
authored
Jan 27, 2026
by
Nick Hill
Committed by
GitHub
Jan 27, 2026
Browse files
[BugFix] Fix P/D with non-MoE DP (#33037)
Signed-off-by:
Nick Hill
<
nickhill123@gmail.com
>
parent
83fb2d09
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
11 deletions
+18
-11
vllm/v1/engine/core.py
vllm/v1/engine/core.py
+11
-11
vllm/v1/engine/utils.py
vllm/v1/engine/utils.py
+7
-0
No files found.
vllm/v1/engine/core.py
View file @
0cd259b2
...
@@ -911,6 +911,17 @@ class EngineCoreProc(EngineCore):
...
@@ -911,6 +911,17 @@ class EngineCoreProc(EngineCore):
set_process_title
(
"EngineCore"
)
set_process_title
(
"EngineCore"
)
decorate_logs
()
decorate_logs
()
if
data_parallel
and
vllm_config
.
kv_transfer_config
is
not
None
:
# modify the engine_id and append the local_dp_rank to it to ensure
# that the kv_transfer_config is unique for each DP rank.
vllm_config
.
kv_transfer_config
.
engine_id
=
(
f
"
{
vllm_config
.
kv_transfer_config
.
engine_id
}
_dp
{
local_dp_rank
}
"
)
logger
.
debug
(
"Setting kv_transfer_config.engine_id to %s"
,
vllm_config
.
kv_transfer_config
.
engine_id
,
)
parallel_config
.
data_parallel_index
=
dp_rank
parallel_config
.
data_parallel_index
=
dp_rank
if
data_parallel
and
vllm_config
.
model_config
.
is_moe
:
if
data_parallel
and
vllm_config
.
model_config
.
is_moe
:
# Set data parallel rank for this engine process.
# Set data parallel rank for this engine process.
...
@@ -1285,17 +1296,6 @@ class DPEngineCoreProc(EngineCoreProc):
...
@@ -1285,17 +1296,6 @@ class DPEngineCoreProc(EngineCoreProc):
assert
local_dp_rank
is
not
None
assert
local_dp_rank
is
not
None
assert
0
<=
local_dp_rank
<=
dp_rank
<
dp_size
assert
0
<=
local_dp_rank
<=
dp_rank
<
dp_size
if
vllm_config
.
kv_transfer_config
is
not
None
:
# modify the engine_id and append the local_dp_rank to it to ensure
# that the kv_transfer_config is unique for each DP rank.
vllm_config
.
kv_transfer_config
.
engine_id
=
(
f
"
{
vllm_config
.
kv_transfer_config
.
engine_id
}
_dp
{
local_dp_rank
}
"
)
logger
.
debug
(
"Setting kv_transfer_config.engine_id to %s"
,
vllm_config
.
kv_transfer_config
.
engine_id
,
)
self
.
dp_rank
=
dp_rank
self
.
dp_rank
=
dp_rank
self
.
dp_group
=
vllm_config
.
parallel_config
.
stateless_init_dp_group
()
self
.
dp_group
=
vllm_config
.
parallel_config
.
stateless_init_dp_group
()
...
...
vllm/v1/engine/utils.py
View file @
0cd259b2
...
@@ -313,6 +313,13 @@ class CoreEngineActorManager:
...
@@ -313,6 +313,13 @@ class CoreEngineActorManager:
dp_vllm_config
.
parallel_config
.
placement_group
=
pg
dp_vllm_config
.
parallel_config
.
placement_group
=
pg
local_client
=
index
<
local_engine_count
local_client
=
index
<
local_engine_count
if
dp_size
>
1
and
dp_vllm_config
.
kv_transfer_config
is
not
None
:
# modify the engine_id and append the local_dp_rank to it to ensure
# that the kv_transfer_config is unique for each DP rank.
dp_vllm_config
.
kv_transfer_config
.
engine_id
=
(
f
"
{
dp_vllm_config
.
kv_transfer_config
.
engine_id
}
_dp
{
local_index
}
"
)
# Ray XPU known issue: dpctl initializes the GPU runtime early, so
# Ray XPU known issue: dpctl initializes the GPU runtime early, so
# setting device env vars in Ray actor's initialization method
# setting device env vars in Ray actor's initialization method
# will not affect device selection. See:
# will not affect device selection. See:
...
...
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