diff --git a/python/sglang/multimodal_gen/runtime/distributed/group_coordinator.py b/python/sglang/multimodal_gen/runtime/distributed/group_coordinator.py index d4d502ac4..85290850d 100644 --- a/python/sglang/multimodal_gen/runtime/distributed/group_coordinator.py +++ b/python/sglang/multimodal_gen/runtime/distributed/group_coordinator.py @@ -441,7 +441,10 @@ class GroupCoordinator: if current_platform.is_cpu() and is_shm_available( input_.dtype, self.world_size, len(self.ranks) ): - return torch.ops.sgl_kernel.shm_allgather(input_, dim) + output_tensor = torch.ops.sgl_kernel.shm_allgather(input_, dim) + if separate_tensors: + return list(output_tensor.chunk(world_size, dim=dim)) + return output_tensor else: all_gather_single(output_tensor, input_, group=self.device_group) diff --git a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/stages/denoising.py b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/stages/denoising.py index a0211526f..93ec9c2f2 100644 --- a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/stages/denoising.py +++ b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/stages/denoising.py @@ -676,11 +676,12 @@ class MiniMaxH3DenoisingStage(DenoisingStage): if not ( current_platform.is_cuda() + or current_platform.is_cpu() or current_platform.is_mps() or current_platform.is_npu() ): raise RuntimeError( - "MiniMax H3 full-loop denoise requires CUDA, MPS, or Ascend NPU" + "MiniMax H3 full-loop denoise requires CPU, CUDA, MPS, or Ascend NPU" ) device = current_platform.get_local_torch_device()