昇腾社区首页
中文
注册

RunDecoder(批量执行,请求列表类型=LLMReq)

产品支持情况

产品

是否支持

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

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

Atlas A2 训练系列产品

x

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品

x

Atlas 训练系列产品

x

函数功能

LLM_OPTION_BATCH_MODE为manual时,批量执行Decode推理。

函数原型

1
ge::Status RunDecoder(const std::vector<LLMReq> &requests, const std::vector<ge::Tensor> &inputs, std::vector<ge::Tensor> &outputs, uint64_t model_id = 0UL)

参数说明

参数名

输入/输出

描述

requests

输入

当前执行的请求列表。元素类型LLMReq

inputs

输入

计算图输入Tensor,为host上分配的内存空间。

output

输出

计算图输出Tensor,用户无需分配内存空间,执行完成后GE会分配内存并赋值。

model_id

输入

模型ID,默认为0。

返回值

推理结果,取值如下:

  • SUCCESS:成功。
  • LLM_PARAM_INVALID:参数错误,如当前非manual batching模式,request_id与batch不对应等。
  • FAILED: 执行推理失败。

异常处理

约束说明

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

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

req_ids中元素的个数需要与模型的batch_size相同,各req_id的位置需要与MergeKv时的batch index一致,如果一个batch index处于空闲状态,req_id需要设置为UINT64_MAX。