From ff24ed6a54d0972c9895474e04a504c3a1dc0f78 Mon Sep 17 00:00:00 2001 From: DefTruth <31974251+DefTruth@users.noreply.github.com> Date: Mon, 7 Nov 2022 19:45:12 +0800 Subject: [PATCH] [Other] Add global SetProcLibCpuNumThreads method (#513) [FlyCV] Add global SetProcLibCpuNumThreads method --- fastdeploy/vision/common/processors/base.cc | 7 +++++++ fastdeploy/vision/common/processors/base.h | 5 +++++ java/android/fastdeploy/build.gradle | 2 +- java/android/fastdeploy/src/main/cpp/CMakeLists.txt | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/fastdeploy/vision/common/processors/base.cc b/fastdeploy/vision/common/processors/base.cc index 9410f6b61..20c058446 100644 --- a/fastdeploy/vision/common/processors/base.cc +++ b/fastdeploy/vision/common/processors/base.cc @@ -54,5 +54,12 @@ void DisableFlyCV() { << DefaultProcLib::default_lib << std::endl; } +void SetProcLibCpuNumThreads(int threads) { + cv::setNumThreads(threads); +#ifdef ENABLE_FLYCV + fcv::set_thread_num(threads); +#endif +} + } // namespace vision } // namespace fastdeploy diff --git a/fastdeploy/vision/common/processors/base.h b/fastdeploy/vision/common/processors/base.h index 6c67d10bc..e9d7ede90 100644 --- a/fastdeploy/vision/common/processors/base.h +++ b/fastdeploy/vision/common/processors/base.h @@ -31,6 +31,11 @@ FASTDEPLOY_DECL void EnableFlyCV(); /// Disable using FlyCV to process image while deploy vision models. FASTDEPLOY_DECL void DisableFlyCV(); +/*! @brief Set the cpu num threads of ProcLib. The cpu num threads + * of FlyCV and OpenCV is 2 by default. + */ +FASTDEPLOY_DECL void SetProcLibCpuNumThreads(int threads); + class FASTDEPLOY_DECL Processor { public: // default_lib has the highest priority diff --git a/java/android/fastdeploy/build.gradle b/java/android/fastdeploy/build.gradle index cf4815a94..b83ccee54 100644 --- a/java/android/fastdeploy/build.gradle +++ b/java/android/fastdeploy/build.gradle @@ -46,7 +46,7 @@ dependencies { def archives = [ [ - 'src' : 'https://bj.bcebos.com/fastdeploy/test/fastdeploy-android-0.5.0-shared-dev.tgz', + 'src' : 'https://bj.bcebos.com/fastdeploy/test/fastdeploy-android-latest-shared-dev.tgz', 'dest': 'libs' ] ] diff --git a/java/android/fastdeploy/src/main/cpp/CMakeLists.txt b/java/android/fastdeploy/src/main/cpp/CMakeLists.txt index 6298d03aa..97d772af2 100644 --- a/java/android/fastdeploy/src/main/cpp/CMakeLists.txt +++ b/java/android/fastdeploy/src/main/cpp/CMakeLists.txt @@ -12,7 +12,7 @@ project("fastdeploy_jni") # You can define multiple libraries, and CMake builds them for you. # Gradle automatically packages shared libraries with your APK. -set(FastDeploy_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/fastdeploy-android-0.5.0-shared-dev") +set(FastDeploy_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/fastdeploy-android-latest-shared-dev") find_package(FastDeploy REQUIRED)