Пример #1
0
def build_mace_run(configs, target_abi, toolchain, enable_openmp,
                   address_sanitizer, mace_lib_type):
    library_name = configs[YAMLKeyword.library_name]
    hexagon_mode = get_hexagon_mode(configs)

    build_tmp_binary_dir = get_build_binary_dir(library_name, target_abi)
    if os.path.exists(build_tmp_binary_dir):
        sh.rm("-rf", build_tmp_binary_dir)
    os.makedirs(build_tmp_binary_dir)

    symbol_hidden = True
    mace_run_target = MACE_RUN_STATIC_TARGET
    if mace_lib_type == MACELibType.dynamic:
        symbol_hidden = False
        mace_run_target = MACE_RUN_DYNAMIC_TARGET
    build_arg = ""
    if configs[YAMLKeyword.model_graph_format] == ModelFormat.code:
        mace_check(os.path.exists(ENGINE_CODEGEN_DIR), ModuleName.RUN,
                   "You should convert model first.")
        build_arg = "--per_file_copt=mace/tools/validation/mace_run.cc@-DMODEL_GRAPH_FORMAT_CODE"  # noqa

    sh_commands.bazel_build(mace_run_target,
                            abi=target_abi,
                            toolchain=toolchain,
                            hexagon_mode=hexagon_mode,
                            enable_openmp=enable_openmp,
                            enable_opencl=get_opencl_mode(configs),
                            enable_quantize=get_quantize_mode(configs),
                            address_sanitizer=address_sanitizer,
                            symbol_hidden=symbol_hidden,
                            extra_args=build_arg)
    sh_commands.update_mace_run_binary(build_tmp_binary_dir,
                                       mace_lib_type == MACELibType.dynamic)
Пример #2
0
def build_mace_run(configs, target_abi, toolchain, address_sanitizer,
                   mace_lib_type, debug_mode):
    library_name = configs[YAMLKeyword.library_name]

    build_tmp_binary_dir = get_build_binary_dir(library_name, target_abi)
    if os.path.exists(build_tmp_binary_dir):
        sh.rm("-rf", build_tmp_binary_dir)
    os.makedirs(build_tmp_binary_dir)

    mace_run_target = MACE_RUN_STATIC_TARGET
    if mace_lib_type == MACELibType.dynamic:
        mace_run_target = MACE_RUN_DYNAMIC_TARGET
    build_arg = ""
    if configs[YAMLKeyword.model_graph_format] == ModelFormat.code:
        mace_check(os.path.exists(ENGINE_CODEGEN_DIR), ModuleName.RUN,
                   "You should convert model first.")
        build_arg = "--per_file_copt=mace/tools/mace_run.cc@-DMODEL_GRAPH_FORMAT_CODE"  # noqa

    sh_commands.bazel_build(mace_run_target,
                            abi=target_abi,
                            toolchain=toolchain,
                            enable_hexagon=hexagon_enabled(configs),
                            enable_hta=hta_enabled(configs),
                            enable_apu=apu_enabled(configs),
                            enable_opencl=opencl_enabled(configs),
                            enable_quantize=quantize_enabled(configs),
                            enable_bfloat16=bfloat16_enabled(configs),
                            enable_fp16=fp16_enabled(configs),
                            address_sanitizer=address_sanitizer,
                            symbol_hidden=get_symbol_hidden_mode(
                                debug_mode, mace_lib_type),
                            debug_mode=debug_mode,
                            extra_args=build_arg)
    sh_commands.update_mace_run_binary(build_tmp_binary_dir,
                                       mace_lib_type == MACELibType.dynamic)