Toybrick
标题:
NPU可以同时跑两个模型吗
[打印本页]
作者:
eeyeh
时间:
2019-4-26 17:23
标题:
NPU可以同时跑两个模型吗
请问NPU可以同时跑两个模型吗?类似于下:
rknn_init(&ctx1,model1,model1_len,RKNN_FLAG_PRIOR_MEDIUM);
rknn_init(&ctx2,model2,model2_len,RKNN_FLAG_PRIOR_MEDIUM);
ret = rknn_run(ctx1, nullptr); //thread1
ret = rknn_run(ctx2, nullptr); //thread2
ret = rknn_outputs_get(ctx1, 3, outputs1, NULL);
ret = rknn_outputs_get(ctx2, 3, outputs2, NULL);
论坛中多线程绑定CPU的代码类似于上, 实测是可以跑通
http://t.rock-chips.com/forum.php?mod=viewthread&tid=355&extra=page%3D2
请问版主开两个线程跑两个模型, NPU是会同时处理这两个模型吗?还是在某个模型rknn_run时, 另一个模型阻塞直到第一个rknn_run跑完才开始rknn_run?
然后rknn_outputs_get会根据ctx的不同取得正确的结果吗?
作者:
troy
时间:
2019-4-29 09:39
本帖最后由 troy 于 2019-4-29 09:42 编辑
NPU跟GPU不一样,无法同时跑多个模型,多个模型最终也是顺序跑的。
set_input和get_output都会设置index,get_output会根据ctx和index获取到对应的结果。
作者:
shopping
时间:
2019-9-16 10:30
本帖最后由 shopping 于 2019-9-16 10:32 编辑
老哥,我也有类似的需求,请问你最后实现目标没有?如果有,能否指导一下我。
作者:
jefferyzhang
时间:
2019-9-17 11:36
NPU是分时复用的,你代码上的『同时』是成立的,多线程也没问题。但是物理上是分时复用运行的。
作者:
zengwubin
时间:
2020-4-17 16:49
你好,请问你有成功跑两个模型吗、能否分享下相关例程,非常感谢
欢迎光临 Toybrick (https://t.rock-chips.com/)
Powered by Discuz! X3.3