From 848b090969669d0a49f652165cdb3418fe78533e Mon Sep 17 00:00:00 2001 From: yejianwu Date: Mon, 5 Feb 2018 14:39:10 +0800 Subject: [PATCH] update generated static libs --- mace_tools.py | 7 ++++++- merge_libs.sh | 38 +++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/mace_tools.py b/mace_tools.py index b4b07732..9ca311a4 100644 --- a/mace_tools.py +++ b/mace_tools.py @@ -153,7 +153,9 @@ def parse_sub_model_configs(model_dirs, global_configs): for config_map in config_list: model_config[config_map[0]] = config_map[1] else: - print("No config msg found in {}".format(model_config_path)) + raise Exception("No config msg found in {}".format(model_config_path)) + else: + raise Exception("Config file '{}' not found".format(model_config_path)) model_config[tf_model_file_dir_key] = model_dir @@ -242,6 +244,9 @@ def main(unused_args): get_libs(configs) + if FLAGS.mode == "run" and len(configs) > 1: + raise Exception("Mode 'run' only can execute one model config, which have been built lastest") + model_output_dirs = [] for config in configs: # Transfer params by environment diff --git a/merge_libs.sh b/merge_libs.sh index 89de1135..59667f70 100644 --- a/merge_libs.sh +++ b/merge_libs.sh @@ -25,34 +25,30 @@ do done cp ${LIBMACE_SOURCE_DIR}/lib/hexagon/libhexagon_controller.so ${LIBMACE_BUILD_DIR}/libmace/lib -# Merge opencl and tuning code with mace engine LIBMACE_TEMP_DIR=`mktemp -d -t libmace.XXXX` -mkdir -p ${LIBMACE_TEMP_DIR}/lib -cp lib/mace/libmace.a \ - lib/mace/libmace_prod.a \ - ${LIBMACE_TEMP_DIR}/lib/ +# Merge libmace engine +echo "create ${LIBMACE_BUILD_DIR}/libmace/lib/libmace_engine.a" > ${LIBMACE_TEMP_DIR}/libmace_engine.mri +echo "addlib lib/mace/libmace.a" >> ${LIBMACE_TEMP_DIR}/libmace_engine.mri +echo "addlib lib/mace/libmace_prod.a" >> ${LIBMACE_TEMP_DIR}/libmace_engine.mri +echo "save" >> ${LIBMACE_TEMP_DIR}/libmace_engine.mri +echo "end" >> ${LIBMACE_TEMP_DIR}/libmace_engine.mri +$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar \ + -M < ${LIBMACE_TEMP_DIR}/libmace_engine.mri || exit 1 +# Merge opencl bin and tuning result +echo "create ${LIBMACE_BUILD_DIR}/libmace/lib/libmace_opencl.a" > ${LIBMACE_TEMP_DIR}/libmace_opencl.mri if [ x"RUNTIME" = x"local" ]; then - cp bazel-bin/codegen/libgenerated_opencl_prod.pic.a \ - bazel-bin/codegen/libgenerated_tuning_params.pic.a \ - ${LIBMACE_TEMP_DIR}/lib/ + echo "addlib bazel-bin/codegen/libgenerated_opencl_prod.pic.a" >> ${LIBMACE_TEMP_DIR}/libmace_opencl.mri + echo "addlib bazel-bin/codegen/libgenerated_tuning_params.pic.a" >> ${LIBMACE_TEMP_DIR}/libmace_opencl.mri else - cp bazel-bin/codegen/libgenerated_opencl_prod.a \ - bazel-bin/codegen/libgenerated_tuning_params.a \ - ${LIBMACE_TEMP_DIR}/lib/ + echo "addlib bazel-bin/codegen/libgenerated_opencl_prod.a" >> ${LIBMACE_TEMP_DIR}/libmace_opencl.mri + echo "addlib bazel-bin/codegen/libgenerated_tuning_params.a" >> ${LIBMACE_TEMP_DIR}/libmace_opencl.mri fi - -echo "create ${LIBMACE_BUILD_DIR}/libmace/lib/libmace_${PROJECT_NAME}.a" > ${LIBMACE_TEMP_DIR}/libmace.mri -for static_lib in `ls ${LIBMACE_TEMP_DIR}/lib/` -do - echo "addlib ${LIBMACE_TEMP_DIR}/lib/${static_lib}" >> ${LIBMACE_TEMP_DIR}/libmace.mri -done -echo "save" >> ${LIBMACE_TEMP_DIR}/libmace.mri -echo "end" >> ${LIBMACE_TEMP_DIR}/libmace.mri - +echo "save" >> ${LIBMACE_TEMP_DIR}/libmace_opencl.mri +echo "end" >> ${LIBMACE_TEMP_DIR}/libmace_opencl.mri $ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar \ - -M < ${LIBMACE_TEMP_DIR}/libmace.mri || exit 1 + -M < ${LIBMACE_TEMP_DIR}/libmace_opencl.mri || exit 1 rm -rf ${LIBMACE_TEMP_DIR} -- GitLab