下载
EN
注册

PullKvCache

函数功能

从远端节点拉取Cache到本地Cache,仅当角色为DECODER时可调用。

函数原型

Status PullKvCache(const CacheIndex &src_cache_index,
                   const Cache &dst_cache,
                   uint32_t batch_index = 0U,
                   int64_t size = -1,
                   const KvCacheExtParam &ext_param = {});

参数说明

参数名称

输入/输出

取值说明

src_cache_index

输入

远端源Cache的索引。

dst_cache

输入

本地目的Cache。

batch_index

输入

本地目的batch的下标 。

size

输入

设置为>0的整数,表示要拉取的大小。

或设置为-1,表示完整拉取。

默认为-1。

ext_param

输入

预留扩展参数,暂不支持。

调用示例

CacheIndex cache_index;
cache_index.cluster_id = 0;
cache_index.cache_id = cached_tensors.cache_id;
cache_index.batch_index = 0;
Status ret = llm_datadist.PullKvCache(cache_index, cache);

返回值

  • LLM_SUCCESS:成功
  • LLM_PARAM_INVALID:参数错误
  • LLM_NOT_YET_LINK:与远端cluster没有建链
  • LLM_TIMEOUT:拉取超时
  • LLM_KV_CACHE_NOT_EXIST:本地或远端KvCache不存在
  • 其他:失败

约束说明

需要在Initialize接口初始化完成后调用。dst_cache必须为AllocateCache接口申请出的Cache。