如何在移动设备上的Caffe2中使用多个内核?

时间:2019-02-08 13:51:03

标签: pytorch caffe2

我有一个仅包含卷积(甚至之间没有激活)的简单模型,我想使用多核在ARM Android设备上的Caffe2中对其进行基准测试。

我跑步时

./speed_benchmark --init_net=model_for_inference-simplified-init-net.pb --net=model_for_inference-simplified-predict-net.pb --iter=1

它在单核上运行。

速度基准测试使用以下方法构建:

scripts/build_android.sh -DANDROID_ABI=arm64-v8a -DANDROID_TOOLCHAIN=clang -DBUILD_BINARY=ON

在X86上,它是通过

构建的
mkdir build
cd build
cmake .. -DBUILD_BINARY=ON

并设置OMP_NUM_THREADS = 8会有所帮助,但在ARM上则无济于事

我是否需要更改arm的构建命令,设置一些环境变量,一些二进制参数或其他内容?

1 个答案:

答案 0 :(得分:0)

我不知道需要像https://caffe2.ai/docs/mobile-integration.html所述在模型中设置引擎信息

通过以下方式更新预测网后:

for op in predict_net.op:
  if op.type == 'Conv':
    op.engine = 'NNPACK'

更多的内核开始使用