PushKvCache
产品支持情况
函数功能
推送Cache到远端节点,仅当角色为Prompt时可调用。
函数原型
Status PushKvCache(const Cache &src_cache,
const CacheIndex &dst_cache_index,
uint32_t src_batch_index = 0U,
int64_t size = -1,
const KvCacheExtParam &ext_param = {});
参数说明
调用示例
CacheDesc kv_desc{};
kv_desc.data_type = llm_datadist::DT_INT32;
kv_desc.shape = {4, 16};
kv_desc.num_tensors = 4;
Cache cache{};
llm_datadist.AllocateCache(kv_desc, cache);
CacheIndex dst_cache_key{0, 1, 3};
KvCacheExtParam ext_param{};
ext_param.src_layer_range = std::pair<int32_t, int32_t>(3, 3);
ext_param.dst_layer_range = std::pair<int32_t, int32_t>(3, 3);
ext_param.tensor_num_per_layer = 1;
Status ret = llm_datadist.PushKvCache(cache, dst_cache_key, 3, -1, ext_param);
返回值
- LLM_SUCCESS:成功
- LLM_PARAM_INVALID:参数错误
- LLM_NOT_YET_LINK:与远端cluster没有建链
- LLM_TIMEOUT:推送超时
- LLM_KV_CACHE_NOT_EXIST:本地或远端KV Cache不存在
- 其他:失败
约束说明
该接口调用之前,需要先调用Initialize接口完成初始化。src_cache必须为AllocateCache接口申请出的Cache。