under test, not sure no errors
This commit is contained in:
@@ -141,15 +141,12 @@ def _dp_all_gather(
|
||||
) -> torch.Tensor:
|
||||
if world_size <= 1:
|
||||
return tensor
|
||||
try:
|
||||
from vllm.distributed import get_dp_group
|
||||
from vllm.distributed import get_dp_group
|
||||
|
||||
group = get_dp_group()
|
||||
gathered = [torch.empty_like(tensor) for _ in range(world_size)]
|
||||
torch.distributed.all_gather(gathered, tensor, group=group)
|
||||
return torch.cat(gathered, dim=dim)
|
||||
except (ImportError, RuntimeError):
|
||||
return tensor.repeat(world_size, *([1] * (tensor.dim() - 1)))
|
||||
group = get_dp_group()
|
||||
gathered = [torch.empty_like(tensor) for _ in range(world_size)]
|
||||
torch.distributed.all_gather(gathered, tensor, group=group)
|
||||
return torch.cat(gathered, dim=dim)
|
||||
|
||||
|
||||
def _dp_all_gather_variable(
|
||||
@@ -158,25 +155,22 @@ def _dp_all_gather_variable(
|
||||
dp_rank: int,
|
||||
group_name: str = "dp",
|
||||
) -> torch.Tensor:
|
||||
try:
|
||||
from vllm.distributed import get_dp_group
|
||||
from vllm.distributed import get_dp_group
|
||||
|
||||
group = get_dp_group()
|
||||
world_size = len(token_counts)
|
||||
hidden_dim = tensor.shape[1] if tensor.dim() > 1 else 1
|
||||
recv_tensors = []
|
||||
for i, count in enumerate(token_counts):
|
||||
if i == dp_rank:
|
||||
recv_tensors.append(tensor[:count])
|
||||
else:
|
||||
recv_tensors.append(
|
||||
torch.empty(
|
||||
count, hidden_dim, dtype=tensor.dtype, device=tensor.device
|
||||
)
|
||||
group = get_dp_group()
|
||||
world_size = len(token_counts)
|
||||
hidden_dim = tensor.shape[1] if tensor.dim() > 1 else 1
|
||||
recv_tensors = []
|
||||
for i, count in enumerate(token_counts):
|
||||
if i == dp_rank:
|
||||
recv_tensors.append(tensor[:count])
|
||||
else:
|
||||
recv_tensors.append(
|
||||
torch.empty(
|
||||
count, hidden_dim, dtype=tensor.dtype, device=tensor.device
|
||||
)
|
||||
torch.distributed.all_gather(
|
||||
recv_tensors, tensor[: token_counts[dp_rank]], group=group
|
||||
)
|
||||
return torch.cat(recv_tensors, dim=0)
|
||||
except (ImportError, RuntimeError):
|
||||
return tensor
|
||||
)
|
||||
torch.distributed.all_gather(
|
||||
recv_tensors, tensor[: token_counts[dp_rank]], group=group
|
||||
)
|
||||
return torch.cat(recv_tensors, dim=0)
|
||||
|
||||
Reference in New Issue
Block a user