昇腾社区首页
中文
注册

MergeKv

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas A2 训练系列产品

x

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品

x

Atlas 训练系列产品

x

函数功能

将KV从本暂存区中合并到batch中,该接口会释放暂存区中的KV。

函数原型

1
ge::Status MergeKv(const uint64_t req_id, const int32_t batch_index, const int32_t batch_id = 0, uint64_t model_id = 0UL)

参数说明

参数名

输入/输出

描述

req_id

输入

请求ID,需要和PullKv时传入的LlmReq中的req_id一致。

batch_index

输入

合入KV的目标batch index。

batch_id

输入

合入KV的目标batch ID。

model_id

输入

模型ID,默认为0。

返回值

合并KV的结果,取值如下:

  • SUCCESS:成功
  • LLM_PARAM_INVALID:参数错误, 如cluster ID校验错,当前非manual batching模式, batch_index,batch_id越界等
  • LLM_KV_CACHE_NOT_EXIST: KV不在暂存区
  • FAILED: 合并KV失败

异常处理

约束说明

必须先做初始化和PullKv后才能调用。

只能在LLM_OPTION_ROLE为Decoder的时候调用并且在LLM_OPTION_BATCH_MODE为auto的时候调用,否则会报错。