From 019174a6688a799a10b09774bf0bfcbd129aa378 Mon Sep 17 00:00:00 2001 From: liyin Date: Wed, 17 Apr 2019 19:10:14 +0800 Subject: [PATCH] Update quantize libs to support thread pool --- WORKSPACE | 12 ++++++------ mace/core/runtime/cpu/cpu_runtime.h | 2 +- mace/ops/depthwise_conv2d.cc | 1 + tools/bazel.rc | 2 ++ 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index daa855de..d7472c7b 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -79,19 +79,19 @@ new_http_archive( http_archive( name = "gemmlowp", - sha256 = "afbea037aee2d21b625985238486b4219396f9c2550b0fde3157fab4d2580205", - strip_prefix = "gemmlowp-master-1f6d8d442805a400c74e63a4a017390733df2e28", + sha256 = "f340384e7728cea605e83597593699dfe8d13ff333b834d24c256935e3dc1758", + strip_prefix = "gemmlowp-master-48c0547a046d49b466aa01e3a82a18028f288924", urls = [ - "http://cnbj1.fds.api.xiaomi.com/mace/third-party/gemmlowp/gemmlowp-master-1f6d8d442805a400c74e63a4a017390733df2e28.zip", + "http://cnbj1.fds.api.xiaomi.com/mace/third-party/gemmlowp/gemmlowp-master-48c0547a046d49b466aa01e3a82a18028f288924.zip", ], ) http_archive( name = "tflite", - sha256 = "8b4c1b2ad2d31da9859e17b0ad551b12e1db7ff2faf7e83218901ab48d9fa91a", - strip_prefix = "tensorflow-mace-dfabaf85145e4d5ad39f34a0cea57b44c32dbe43", + sha256 = "6f2671a02fe635a82c289c8c40a6e5bc24670ff1d4c3c2ab4a7aa9b825256a18", + strip_prefix = "tensorflow-mace-d73e88fc830320d3818ac24e57cd441820a85cc9", urls = [ - "http://cnbj1.fds.api.xiaomi.com/mace/third-party/tflite/tensorflow-mace-dfabaf85145e4d5ad39f34a0cea57b44c32dbe43.zip", + "http://cnbj1.fds.api.xiaomi.com/mace/third-party/tflite/tensorflow-mace-d73e88fc830320d3818ac24e57cd441820a85cc9.zip", ], ) diff --git a/mace/core/runtime/cpu/cpu_runtime.h b/mace/core/runtime/cpu/cpu_runtime.h index f8cb2111..d97c90ce 100644 --- a/mace/core/runtime/cpu/cpu_runtime.h +++ b/mace/core/runtime/cpu/cpu_runtime.h @@ -57,7 +57,7 @@ class CPURuntime { gemmlowp::GemmContext *GetGemmlowpContext() { if (gemm_context_ == nullptr) { - gemm_context_ = new gemmlowp::GemmContext(); + gemm_context_ = new gemmlowp::GemmContext(thread_pool_); } return static_cast(gemm_context_); } diff --git a/mace/ops/depthwise_conv2d.cc b/mace/ops/depthwise_conv2d.cc index 522a3b35..67339ef9 100644 --- a/mace/ops/depthwise_conv2d.cc +++ b/mace/ops/depthwise_conv2d.cc @@ -250,6 +250,7 @@ class DepthwiseConv2dOp std::vector bias_shape{out_channels}; tflite::optimized_ops::DepthwiseConv( + &context->device()->cpu_runtime()->thread_pool(), input_data, ShapeToTfliteDims(input->shape()), -input->zero_point(), filter_data, ShapeToTfliteDims(filter_shape), -filter->zero_point(), bias_data, ShapeToTfliteDims(bias_shape), stride_w, stride_h, diff --git a/tools/bazel.rc b/tools/bazel.rc index 0a49d2ce..629129cf 100644 --- a/tools/bazel.rc +++ b/tools/bazel.rc @@ -8,6 +8,8 @@ build --copt=-std=c++11 build --copt=-fPIC build --copt=-D_GLIBCXX_USE_C99_MATH_TR1 build --copt=-DMACE_OBFUSCATE_LITERALS +build --copt=-DGEMMLOWP_USE_MACE_THREAD_POOL +build --copt=-DMACE_DEPTHWISE_U8_USE_MULTI_THREAD # Usage example: bazel build --config android build:android --linkopt=-pie -- GitLab