Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 6 additions & 9 deletions tensorrt_llm/mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
# limitations under the License.
from typing import List

import torch


class Mapping(object):
'''
Expand Down Expand Up @@ -419,16 +421,11 @@ def has_moe_tp(self):
def has_moe_ep(self):
return self.moe_ep_size > 1

# TODO: Add support of uneven/arbitrary layer segmentation
def pp_layers(self, num_layers: int) -> List[int]:
layers_per_pipeline_stage = num_layers // self.pp_size
if self.pp_rank == self.pp_size - 1:
layers_range = range(self.pp_rank * layers_per_pipeline_stage,
num_layers)
else:
layers_range = range(self.pp_rank * layers_per_pipeline_stage,
(self.pp_rank + 1) * layers_per_pipeline_stage)
return list(layers_range)
assert self.pp_size <= num_layers, "pp size cannot be larger than num_hidden_layers"
# If num_layers % pp_size = n != 0, first n ranks get one extra layer
return torch.tensor_split(torch.arange(num_layers),
self.pp_size)[self.pp_rank].tolist()

def ep_experts(self, num_experts: int) -> List[int]:
assert self.cp_size == 1
Expand Down