def benchmark_model(flags): configs = format_model_config(flags) clear_build_dirs(configs[YAMLKeyword.library_name]) target_socs = configs[YAMLKeyword.target_socs] device_list = DeviceManager.list_devices(flags.device_yml) if target_socs and ALL_SOC_TAG not in target_socs: device_list = [ dev for dev in device_list if dev[YAMLKeyword.target_socs].lower() in target_socs ] for target_abi in configs[YAMLKeyword.target_abis]: # build benchmark_model binary for dev in device_list: if target_abi in dev[YAMLKeyword.target_abis]: toolchain = infer_toolchain(target_abi) build_benchmark_model(configs, target_abi, toolchain, not flags.disable_openmp, flags.mace_lib_type) device = DeviceWrapper(dev) with device.lock(): device.bm_specific_target(flags, configs, target_abi) else: six.print_('There is no abi %s with soc %s' % (target_abi, dev[YAMLKeyword.target_socs]), file=sys.stderr)
def benchmark_model(flags): configs = format_model_config(flags) clear_build_dirs(configs[YAMLKeyword.library_name]) target_socs = configs[YAMLKeyword.target_socs] device_list = DeviceManager.list_devices(flags.device_yml) if target_socs and TargetSOCTag.all not in target_socs: device_list = [dev for dev in device_list if dev[YAMLKeyword.target_socs].lower() in target_socs] for target_abi in configs[YAMLKeyword.target_abis]: if flags.target_socs == TargetSOCTag.random: target_devices = sh_commands.choose_a_random_device( device_list, target_abi) else: target_devices = device_list # build benchmark_model binary for dev in target_devices: if target_abi in dev[YAMLKeyword.target_abis]: toolchain = infer_toolchain(target_abi) build_benchmark_model(configs, target_abi, toolchain, not flags.disable_openmp, flags.mace_lib_type) device = DeviceWrapper(dev) start_time = time.time() with device.lock(): device.bm_specific_target(flags, configs, target_abi) elapse_minutes = (time.time() - start_time) / 60 print("Elapse time: %f minutes." % elapse_minutes) else: six.print_('There is no abi %s with soc %s' % (target_abi, dev[YAMLKeyword.target_socs]), file=sys.stderr)