RunDecoder(批量执行,请求id类型=uint64_t)
产品支持情况
产品 |
是否支持 |
---|---|
√ |
|
√ |
|
x |
|
x |
|
x |
|
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。
父主题: LLMEngine