昇腾社区首页
中文
注册

RunDecoder(批量执行,请求id类型=uint64_t)

产品支持情况

产品

是否支持

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<uint64_t> &req_ids, const std::vector<ge::Tensor> &inputs, std::vector<ge::Tensor> &outputs)

参数说明

参数名

输入/输出

描述

req_ids

输入

当前执行的请求id。

inputs

输入

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

output

输出

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

返回值

推理结果,取值如下:

  • 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。