RunDecoder(批量执行,请求列表类型=LLMReq)
函数功能
LLM_OPTION_BATCH_MODE为manual时,批量执行decoder推理。
函数原型
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。
父主题: LLMEngine