[Bugfix][EP+DP] Use pplx-kernel internode instead of intranode (#19034)

Signed-off-by: Tyler Michael Smith <tysmith@redhat.com>
Signed-off-by: Tyler Michael Smith <tyler@neuralmagic.com>
This commit is contained in:
Tyler Michael Smith 2025-06-02 23:36:51 -04:00 committed by GitHub
parent 5bc1ad6cee
commit 8a57872b2a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 1 deletions

View File

@ -83,6 +83,10 @@ class PPLXAll2AllManager(All2AllManagerBase):
assert has_pplx, "pplx_kernels not found. Please follow https://github.com/vllm-project/vllm/blob/main/tools/ep_kernels/README.md to install pplx_kernels." # noqa
super().__init__(cpu_group)
# TODO(tms): Disable pplx-a2a intranode as it fails with the error:
# failed: cuda error /app/pplx/csrc/all_to_all/intranode.cpp:84 'invalid resource handle' # noqa
self.internode = True
if self.internode:
# inter-node communication needs nvshmem,
# intra-node communication uses p2p mapping directly

View File

@ -269,9 +269,13 @@ class FusedMoEMethodBase(QuantizeMethodBase):
hidden_dim_scale_bytes=(0 if moe.in_dtype.itemsize != 1 else (
(moe.hidden_dim + moe.block_size - 1) // moe.block_size *
torch.float32.itemsize)),
group_name=all2all_manager.cpu_group.group_name,
)
# Intranode pplx a2a takes a group name while internode does not.
if not all2all_manager.internode:
all_to_all_args[
"group_name"] = all2all_manager.cpu_group.group_name
handle = all2all_manager.get_handle(all_to_all_args)
prepare_finalize = PplxPrepareAndFinalize(