diff --git a/mace_tools.py b/mace_tools.py index b4b077321bf97ed82e0444dc9b26ca4593c97378..9ca311a46132ce052905d8a3a1273a22e9aec1e8 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 89de1135850bbbe3c3535f51522b4d2140518fe1..59667f7001a292e9d26b350f2dfa31d32bfaad0f 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}