RunPrompt(非批量执行)
函数功能
执行全量图。
函数原型
ge::Status RunPrompt(const LLMReq &req, const std::vector<ge::Tensor> &inputs, std::vector<ge::Tensor> &output, uint64_t model_id = 0UL);
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
req |
输入 |
当前执行的请求。类型LLMReq。 如果需要使用公共前缀进行全量推理,请按照如下步骤操作。
|
inputs |
输入 |
计算图输入Tensor,为Host上分配的内存空间 |
output |
输出 |
计算图输出Tensor,用户无需分配内存空间,执行完成后GE会分配内存并赋值。 |
model_id |
输入 |
模型ID,默认为0。 |
返回值
执行成功
异常处理
无。
约束说明
必须先做初始化后才能调用。
只能在LLM_OPTION_ROLE为Prompt的时候调用,否则会报错。
只能在LLM_OPTION_BATCH_MODE不为manual的时候调用,否则会报错。
当执行的模型是动态模型,并且会将模型部署到多个device上的场景下,若观察接口耗时发现性能波动比较大,可以通过对执行进程进行绑核尝试解决。绑核方式:'taskset -c 0-15 执行进程',0-15是绑定的cpu核的范围,绑定的cpu核的个数建议配置为部署的device数量*2 + 进程脚本中自行拉起的线程数量。比如执行8p的模型用到8个device,进程脚本中没有拉起线程,那么配置的cpu核数就是16,范围选可用的cpu核:0-15。
父主题: LLMEngine