Skip to content

Commit d40d3a5

Browse files
authored
fix DP&&TP (#3872)
1 parent b8d0f1c commit d40d3a5

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

fastdeploy/config.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1284,10 +1284,6 @@ def check(self):
12841284
f"be less than or equal to max_num_partial_prefills: {self.max_num_partial_prefills}"
12851285
)
12861286
assert self.splitwise_role in ["mixed", "prefill", "decode"]
1287-
# TODO(@wufeisheng): TP and EP need to be supported simultaneously.
1288-
assert (self.parallel_config.tensor_parallel_size == 1 and self.parallel_config.expert_parallel_size >= 1) or (
1289-
self.parallel_config.tensor_parallel_size >= 1 and self.parallel_config.expert_parallel_size == 1
1290-
), "TP and EP cannot be enabled at the same time"
12911287

12921288
if not self.cache_config.enable_chunked_prefill:
12931289
if not envs.ENABLE_V1_KVCACHE_SCHEDULER:

fastdeploy/worker/worker_process.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,9 @@ def initialize_fd_config(args, ranks: int = 1, local_rank: int = 0) -> FDConfig:
655655
num_experts_per_rank = num_experts // parallel_config.expert_parallel_size
656656
num_experts_start_offset = expert_parallel_rank * num_experts_per_rank
657657
max_chips_per_node = 16 if current_platform.is_iluvatar() else 8
658-
parallel_config.local_data_parallel_id = expert_parallel_rank % max_chips_per_node
658+
parallel_config.local_data_parallel_id = parallel_config.data_parallel_rank % (
659+
max_chips_per_node // parallel_config.tensor_parallel_size
660+
)
659661

660662
parallel_config.expert_parallel_rank = expert_parallel_rank
661663
parallel_config.num_experts_per_rank = num_experts_per_rank

0 commit comments

Comments
 (0)