### What this PR does / why we need it?
| File Path |
| :--- |
| ` vllm_ascend/eplb/adaptor/abstract_adaptor.py` |
| ` vllm_ascend/eplb/adaptor/vllm_adaptor.py` |
| ` vllm_ascend/eplb/core/eplb_device_transfer_loader.py` |
| ` vllm_ascend/eplb/core/eplb_utils.py` |
| ` vllm_ascend/eplb/core/eplb_worker.py` |
| ` vllm_ascend/eplb/core/policy/policy_abstract.py` |
| ` vllm_ascend/eplb/core/policy/policy_default_eplb.py` |
| ` vllm_ascend/eplb/core/policy/policy_factory.py` |
| ` vllm_ascend/eplb/core/policy/policy_flashlb.py` |
| ` vllm_ascend/eplb/core/policy/policy_random.py` |
| ` vllm_ascend/eplb/core/policy/policy_swift_balancer.py` |
| ` vllm_ascend/eplb/eplb_updator.py` |
| ` vllm_ascend/eplb/utils.py` |
| ` vllm_ascend/model_loader/netloader/executor/elastic_load.py` |
| ` vllm_ascend/model_loader/netloader/executor/netloader_pg.py` |
| ` vllm_ascend/model_loader/netloader/interaction/elastic.py` |
| ` vllm_ascend/model_loader/netloader/load.py` |
| ` vllm_ascend/model_loader/netloader/netloader.py` |
| ` vllm_ascend/model_loader/netloader/utils.py` |
| ` vllm_ascend/patch/platform/__init__.py` |
| ` vllm_ascend/patch/platform/patch_balance_schedule.py` |
| ` vllm_ascend/patch/platform/patch_ec_connector.py` |
| ` vllm_ascend/patch/platform/patch_mamba_config.py` |
| ` vllm_ascend/patch/platform/patch_multiproc_executor.py` |
| ` vllm_ascend/patch/platform/patch_sched_yield.py` |
- vLLM version: v0.13.0
- vLLM main:
2c24bc6996
---------
Signed-off-by: MrZ20 <2609716663@qq.com>
31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
import vllm.distributed.ec_transfer.ec_connector.example_connector
|
|
from safetensors.torch import load_file
|
|
from vllm.distributed.ec_transfer.ec_connector.example_connector import ECConnectorMetadata, ECExampleConnector
|
|
from vllm.logger import logger
|
|
|
|
|
|
class AscendECExampleConnector(ECExampleConnector):
|
|
def start_load_caches(self, encoder_cache, **kwargs) -> None:
|
|
metadata: ECConnectorMetadata = self._get_connector_metadata()
|
|
assert isinstance(metadata, ECConnectorMetadata)
|
|
assert encoder_cache is not None
|
|
if metadata is None:
|
|
logger.warning(
|
|
(
|
|
"In connector.start_load_caches, ",
|
|
"but the connector metadata is None",
|
|
)
|
|
)
|
|
return
|
|
# Load the EC for each mm data
|
|
for mm_data in metadata.mm_datas:
|
|
if mm_data.mm_hash in encoder_cache:
|
|
continue
|
|
filename = self._generate_filename_debug(mm_data.mm_hash)
|
|
ec_cache = load_file(filename)["ec_cache"].npu()
|
|
encoder_cache[mm_data.mm_hash] = ec_cache
|
|
logger.debug("Success load encoder cache for hash %s", mm_data.mm_hash)
|
|
|
|
|
|
vllm.distributed.ec_transfer.ec_connector.example_connector.ECExampleConnector = AscendECExampleConnector
|