74 Star 218 Fork 167

Ascend / modelzoo

 / 详情

模型加载一次,使用同一个ModelID,指定不同的内存(推理时,需要的内存块),实现aclmdlExecuteAsync接口可以重入

DONE
推理问题
创建于  
2021-03-03 11:30

问题现象(附截图):
我们的软件需要统一了GPU,CPU及NPU的对外接口,当前GPU和CPU上是都支持,模型加载一次(模型加载时间较长),共享参数内存等资源,然后在推理前,申请不同的资源(主要是内存),然后在推理时,指定这些资源,实现模型推理接口的重入;
初步分析:
NPU在加载模型时,有个参数workPtr,这个参数即为模型推理的内存资源,可否在aclmdlExecuteAsync(文档中不可重入)接口中增加一个参数,指定不同workPtr,实现同一个ModelID可以在不同线程中推理,实现aclmdlExecuteAsync接口重入
aclError aclmdlLoadFromFileWithMem(const char *modelPath, uint32_t *modelId, void *workPtr, size_t workSize, void *weightPtr, size_t weightSize)

软件版本:
-- 原始模型框架 (Tensorflow/Pytorch/MindSpore) 版本:Pytorch
-- Python 版本 (e.g., Python 3.7.5): Python 3.7.5
-- 操作系统版本 (e.g., Ubuntu 18.04): Ubuntu 18.04
-- CANN 版本 (e.g., CANNN 20.2): CANNN 20.2

评论 (3)

Nansen 创建了推理问题
Nansen 关联仓库设置为Ascend/modelzoo
展开全部操作日志

您对ACL模块提交的需求我们已经开始着手分析 会尽快答复您!

zhengtao 负责人设置为zhangyongfeng88
zhengtao 添加协作者唐豪杰
zhengtao 任务状态TODO 修改为Analysing

这个需求我理解是 增强这个aclmdlExecuteAsync接口功能 原先必须先调用aclmdlLoadFromFileWithMem接口将离线模型加载进内存中直接执行,现在的新需求是将已加载的离线模型缓存下来 在多线程中调用执行推理接口时复用之前缓存下来的离线模型(即模型加载一次 可在多线程中执行推理)

当前已有有整体需求支持一次加载,多次执行。由于您长时间没有答复,我们就先把这个issue关闭了,如果您还有其他问题,可以重新打开这个issue或者新提一个issue来解决,再次感谢支持

唐豪杰 任务状态Analysing 修改为DONE
吴定远 关联仓库Ascend/modelzoo-his 修改为Ascend/modelzoo

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
1
https://gitee.com/ascend/modelzoo.git
git@gitee.com:ascend/modelzoo.git
ascend
modelzoo
modelzoo

搜索帮助