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