pull_cache
函数功能
根据CacheKey,从对应的对端节点拉取到本地Cache。
函数原型
pull_cache(cache_key: Union[CacheKey, CacheKeyByIdAndIndex], cache: Cache, batch_index: int = 0, size: int = -1)
参数说明
参数名称 |
数据类型 |
取值说明 |
---|---|---|
cache_key |
Union[CacheKey, CacheKeyByIdAndIndex] |
需要被拉取的CacheKey。 通过req_id,prefix_id,model_id拉取则传入CacheKey。 通过cache_id,batch_index拉取则传入CacheKeyByIdAndIndex。 |
cache |
目标Cache。 |
|
batch_index |
int |
batch index,默认为0。 |
size |
int |
设置为>0的整数,表示要拉取的tensor大小。 或设置为-1,表示完整拷贝。 默认为-1。 |
调用示例
1 2 3 4 5 6 | from llm_datadist import * ... cache_keys = [CacheKey(1, req_id=1), CacheKey(1, req_id=2)] cache_manager.pull_cache(cache_keys[0], cache, 0) cache_manager.pull_cache(cache_keys[1], cache, 1) cache_manager.pull_cache(cache_keys[1], cache, 1, src_layer_range=range(0,2), dst_layer_range=range(2,4)) |
返回值
正常情况下无返回值。
传入数据类型错误情况下会抛出TypeError或ValueError异常。
执行时间超过sync_kv_timeout配置会抛出LLMException异常。
layer_range参数异常会抛出LLMException异常
约束说明
当src_cache是HOST设备时,dst_cache是DEVICE设备时,仅支持src_cache与dst_cache都为连续cache的场景。
父主题: CacheManager