|
16 | 16 | #
|
17 | 17 |
|
18 | 18 | import torch
|
| 19 | +import numpy |
19 | 20 | from typing import Dict, List
|
20 | 21 | import torch.distributed as dist
|
21 | 22 | import vllm.envs as envs
|
@@ -111,19 +112,19 @@ def forward_before(self):
|
111 | 112 | # Batch after eplb process being triggered, get update info provided by eplb process
|
112 | 113 | if self.update_in_flight and self.weight_update_counter == 0 and self.wait_worker_iterations == self.num_wait_worker_iterations:
|
113 | 114 | self.wait_worker_iterations = 0
|
114 |
| - packed_update_info = self.block_update_queue.get() |
115 |
| - self.update_info_all = self.unpack_update_batch(packed_update_info) |
| 115 | + self.update_info_all = self.block_update_queue.get() |
116 | 116 | self.weight_loading = True
|
117 | 117 |
|
118 | 118 | if self.update_in_flight and self.weight_loading and self.weight_update_counter < self.num_moe_layers:
|
119 | 119 | (expert_send_info, expert_recv_info, updated_expert_map, log2phy_map, layer_id) = self.update_info_all.pop(0)
|
120 | 120 | rank_id = torch.distributed.get_rank()
|
121 |
| - self.eplb_loader.set_log2phy_map(log2phy_map) |
122 |
| - expert_send_info_this_rank = expert_send_info[rank_id] if rank_id in expert_send_info else [] |
123 |
| - expert_recv_info_this_rank = expert_recv_info[rank_id] if rank_id in expert_recv_info else [] |
| 121 | + if self.redundant_enable: |
| 122 | + log2phy_map_this_rank = torch.from_numpy(numpy.array(log2phy_map)) |
| 123 | + self.eplb_loader.set_log2phy_map(log2phy_map_this_rank) |
| 124 | + updated_expert_map_this_rank = torch.from_numpy(numpy.array(updated_expert_map)) |
124 | 125 | #logger.info(f"check update info, layer = {layer_id}, send = {expert_send_info_this_rank}, recv = {expert_recv_info_this_rank}")
|
125 |
| - self.eplb_loader.generate_expert_d2d_transfer_task(expert_send_info_this_rank, |
126 |
| - expert_recv_info_this_rank, updated_expert_map, layer_id + 3) |
| 126 | + self.eplb_loader.generate_expert_d2d_transfer_task(expert_send_info, expert_recv_info, |
| 127 | + updated_expert_map_this_rank, layer_id + self.adaptor.num_dense_layers) |
127 | 128 | self.weight_update_counter += 1
|
128 | 129 | if self.weight_update_counter == self.num_moe_layers:
|
129 | 130 | self.weight_update_counter = 0
|
|
0 commit comments