From 2b60e813cb84e5780eb7558210ae8bc0f9dc3df3 Mon Sep 17 00:00:00 2001 From: Yan Chunwei Date: Tue, 27 Aug 2019 07:11:09 +0800 Subject: [PATCH] add BUILD_EXTRA option to build.sh and ci_build.sh (#1849) --- README.md | 1 + lite/tools/build.sh | 15 ++++++++++++++- lite/tools/ci_build.sh | 9 +++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3370673f79..fc25bafea4 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ Paddle Lite has referenced the following open-source projects: - [ARM compute library](http://agroup.baidu.com/paddle-infer/md/article/%28https://github.com/ARM-software/ComputeLibrary%29) - [Anakin](https://github.com/PaddlePaddle/Anakin). The optimizations under Anakin has been incorporated into Paddle Lite, and so there will not be any future updates of Anakin. As another high-performance inference project under PaddlePaddle, Anakin has been forward-looking and helpful to the making of Paddle Lite. + ## Feedback and Community Support - Questions, reports, and suggestions are welcome through Github Issues! diff --git a/lite/tools/build.sh b/lite/tools/build.sh index e406d42f1c..ee12feb18c 100755 --- a/lite/tools/build.sh +++ b/lite/tools/build.sh @@ -9,6 +9,10 @@ readonly CMAKE_COMMON_OPTIONS="-DWITH_GPU=OFF \ -DLITE_WITH_ARM=ON \ -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON" + +# global variables +BUILD_EXTRA=OFF + readonly THIRDPARTY_TAR=https://paddle-inference-dist.bj.bcebos.com/PaddleLite/third-party-05b862.tar.gz readonly workspace=$PWD @@ -63,6 +67,7 @@ function make_tiny_publish_so { -DLITE_SHUTDOWN_LOG=ON \ -DLITE_ON_TINY_PUBLISH=ON \ -DANDROID_STL_TYPE=$android_stl \ + -DLITE_BUILD_EXTRA=$BUILD_EXTRA \ -DARM_TARGET_OS=${os} -DARM_TARGET_ARCH_ABI=${abi} -DARM_TARGET_LANG=${lang} make publish_inference -j4 @@ -94,6 +99,7 @@ function make_full_publish_so { -DLITE_WITH_JAVA=ON \ -DLITE_SHUTDOWN_LOG=ON \ -DANDROID_STL_TYPE=$android_stl \ + -DLITE_BUILD_EXTRA=$BUILD_EXTRA \ -DARM_TARGET_OS=${os} -DARM_TARGET_ARCH_ABI=${abi} -DARM_TARGET_LANG=${lang} make publish_inference -j4 @@ -120,6 +126,7 @@ function make_all_tests { cmake .. \ ${CMAKE_COMMON_OPTIONS} \ -DWITH_TESTING=ON \ + -DLITE_BUILD_EXTRA=$BUILD_EXTRA \ -DARM_TARGET_OS=${os} -DARM_TARGET_ARCH_ABI=${abi} -DARM_TARGET_LANG=${lang} make lite_compile_deps -j4 @@ -141,8 +148,10 @@ function print_usage { echo -e "compile all arm tests:" echo -e " ./build.sh --arm_os= --arm_abi= --arm_lang= test" echo - echo -e "argument choices:" + echo -e "optional argument:" + echo -e "--build_extra: (OFF|ON); controls whether to publish extra operators and kernels for (sequence-related model such as OCR or NLP)" echo + echo -e "argument choices:" echo -e "--arm_os:\t android" echo -e "--arm_abi:\t armv8|armv7" echo -e "--arm_lang:\t gcc|clang" @@ -182,6 +191,10 @@ function main { ANDROID_STL="${i#*=}" shift ;; + --build_extra=*) + BUILD_EXTRA="${i#*=}" + shift + ;; tiny_publish) make_tiny_publish_so $ARM_OS $ARM_ABI $ARM_LANG $ANDROID_STL shift diff --git a/lite/tools/ci_build.sh b/lite/tools/ci_build.sh index 038252257c..248550c9cd 100755 --- a/lite/tools/ci_build.sh +++ b/lite/tools/ci_build.sh @@ -71,6 +71,7 @@ function cmake_opencl { -DWITH_ARM_DOTPROD=ON \ -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON \ -DWITH_TESTING=ON \ + -DLITE_BUILD_EXTRA=ON \ -DARM_TARGET_OS=$1 -DARM_TARGET_ARCH_ABI=$2 -DARM_TARGET_LANG=$3 } @@ -150,7 +151,8 @@ function build_opencl { # This method is only called in CI. function cmake_x86_for_CI { prepare_workspace # fake an empty __generated_code__.cc to pass cmake. - cmake .. -DWITH_GPU=OFF -DWITH_MKLDNN=OFF -DLITE_WITH_X86=ON ${common_flags} -DLITE_WITH_PROFILE=ON -DWITH_MKL=OFF + cmake .. -DWITH_GPU=OFF -DWITH_MKLDNN=OFF -DLITE_WITH_X86=ON ${common_flags} -DLITE_WITH_PROFILE=ON -DWITH_MKL=OFF \ + -DLITE_BUILD_EXTRA=ON \ # Compile and execute the gen_code related test, so it will generate some code, and make the compilation reasonable. # make test_gen_code -j$NUM_CORES_FOR_COMPILE @@ -229,7 +231,8 @@ function build_test_train { cd ./build export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/paddle/build/third_party/install/mklml/lib" prepare_workspace # fake an empty __generated_code__.cc to pass cmake. - cmake .. -DWITH_LITE=ON -DWITH_GPU=OFF -DWITH_PYTHON=ON -DLITE_WITH_X86=ON -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=OFF -DWITH_TESTING=ON -DWITH_MKL=OFF + cmake .. -DWITH_LITE=ON -DWITH_GPU=OFF -DWITH_PYTHON=ON -DLITE_WITH_X86=ON -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=OFF -DWITH_TESTING=ON -DWITH_MKL=OFF \ + -DLITE_BUILD_EXTRA=ON \ make test_gen_code -j$NUM_CORES_FOR_COMPILE make test_cxx_api -j$NUM_CORES_FOR_COMPILE @@ -441,6 +444,7 @@ function cmake_npu { -DWITH_TESTING=ON \ -DLITE_WITH_NPU=ON \ -DANDROID_API_LEVEL=24 \ + -DLITE_BUILD_EXTRA=ON \ -DNPU_DDK_ROOT="${build_dir}/../ai_ddk_lib/" \ -DARM_TARGET_OS=$1 -DARM_TARGET_ARCH_ABI=$2 -DARM_TARGET_LANG=$3 } @@ -460,6 +464,7 @@ function cmake_arm { -DWITH_ARM_DOTPROD=ON \ -DLITE_WITH_LIGHT_WEIGHT_FRAMEWORK=ON \ -DWITH_TESTING=ON \ + -DLITE_BUILD_EXTRA=ON \ -DARM_TARGET_OS=$1 -DARM_TARGET_ARCH_ABI=$2 -DARM_TARGET_LANG=$3 } -- GitLab