JackLi · 2019年09月17日

tengine如何指定cpu核心?为什么设置 TENGINE_CPU_LIST=0 或者2 性能没差别?

tengine如何指定cpu核心?为什么设置 TENGINE_CPU_LIST=0 或者2 性能没差别?

1 个回答 得票排序 · 时间排序
嵌入式推理框架 · 2019年09月17日

tengine通过环境变量TENGINE_CPU_LIST 来设置cpu核心。 如果用的是RK3399, cpu的编号是: 0,1,2,3 为A53, 4,5 为A72, 这个信息可以通过命令cat /proc/cpuinfo查看。 因此,设置TENGINE_CPU_LIST, 无论设置0,2 都是单A53, 性能无差别。

设置方法:
在命令窗口直接设置
export TENGINE_CPU_LIST=4,5 //两个A72
在代码中调用setenv设置
int setenv(const char envname, const char envval, int overwrite);
setenv最后一个参数overwrite 设置为0,表示如果环境变量已有设置,则不更新; 最后一个参数非0, 参数更新
如:setenv("TENGINE_CPU_LIST", "4,5", 1);
在代码中调用set_cpu_list函数设置
void set_cpu_list(const char* cpu_list_str);
函数接收cpu序号的列表,用逗号作为分隔符,注意:set_cpu_list函数必须在init_tengine之前调用才能生效。
如:set_cpu_list("4,5");

你的回答
关注数
2
收藏数
1
浏览数
3630
南野 嵌入式推理框架
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息