mlonmcu.platform package

Submodules

mlonmcu.platform.espidf module

MLonMCU ESP-IDF platform

class mlonmcu.platform.espidf.EspIdfPlatform(features=None, config=None)[source]

Bases: CompilePlatform, TargetPlatform

ESP-IDF Platform class.

DEFAULTS = {'baud': 115200, 'build_dir': None, 'debug': False, 'flash_only': False, 'num_threads': 2, 'port': None, 'print_outputs': False, 'project_dir': None, 'project_template': None, 'use_idf_monitor': True, 'wait_for_user': True}
FEATURES = {'benchmark', 'debug'}
REQUIRED = {'espidf.install_dir', 'espidf.src_dir'}
property baud
check()[source]
close()[source]
compile(target, src=None)[source]
create_target(name)[source]
property espidf_install_dir
property espidf_src_dir
flash(elf, target, timeout=120)[source]
property flash_only
generate(src, target, model=None)[source]
get_idf_cmake_args()[source]
get_idf_serial_args(monitor=False)[source]
get_supported_targets()[source]
property idf_exe
init_directory(path=None, context=None)[source]
invoke_idf_exe(*args, **kwargs)[source]
monitor(target, timeout=60)[source]
property port
prepare(target, src)[source]
property project_template
property use_idf_monitor
property wait_for_user

mlonmcu.platform.espidf_target module

mlonmcu.platform.lookup module

mlonmcu.platform.lookup.get_platform_names(context)[source]
mlonmcu.platform.lookup.get_platforms_backends(context, config=None)[source]
mlonmcu.platform.lookup.get_platforms_targets(context, config=None)[source]
mlonmcu.platform.lookup.print_backends(platform_backends)[source]
mlonmcu.platform.lookup.print_platforms(platform_names)[source]
mlonmcu.platform.lookup.print_summary(context)[source]
mlonmcu.platform.lookup.print_targets(platform_targets)[source]

mlonmcu.platform.microtvm module

MLonMCU MicroTVM platform

class mlonmcu.platform.microtvm.MicroTvmPlatform(features=None, config=None)[source]

Bases: MicroTvmBasePlatform, MicroTvmCompilePlatform, MicroTvmBuildPlatform, MicroTvmTunePlatform

MicroTVM Platform class.

DEFAULTS = {'aggregate': 'none', 'autoscheduler_enable': False, 'autoscheduler_include_simple_tasks': False, 'autoscheduler_log_estimated_latency': True, 'autotuning_append': None, 'autotuning_early_stopping': None, 'autotuning_max_parallel': 1, 'autotuning_mode': None, 'autotuning_num_workers': None, 'autotuning_results_file': None, 'autotuning_tasks': None, 'autotuning_timeout': 100, 'autotuning_trials': 10, 'autotuning_trials_single': None, 'autotuning_use_rpc': False, 'autotuning_visualize': False, 'autotuning_visualize_file': None, 'autotuning_visualize_live': False, 'autotvm_enable': False, 'autotvm_tuner': 'ga', 'build_dir': None, 'debug': False, 'enable_wandb': False, 'experimental_tvmc_micro_tune': False, 'experimental_tvmc_print_time': False, 'experimental_tvmc_tune_tasks': False, 'experimental_tvmc_tune_visualize': False, 'fill_mode': None, 'ins_file': None, 'metascheduler_enable': False, 'min_repeat_ms': 0, 'num_threads': 2, 'number': 1, 'outs_file': None, 'print_outputs': False, 'print_top': False, 'profile': False, 'project_dir': None, 'project_options': {}, 'project_template': None, 'repeat': 1, 'rpc_hostname': None, 'rpc_key': None, 'rpc_port': None, 'skip_flash': False, 'total_time': False, 'tvmc_custom_script': None, 'use_rpc': False}
FEATURES = {'autoscheduler', 'autotvm', 'benchmark', 'debug', 'metascheduler', 'tvm_profile', 'tvm_rpc'}
REQUIRED = {'tvm.build_dir', 'tvm.configs_dir', 'tvm.pythonpath'}
create_target(name)[source]
get_supported_targets()[source]

mlonmcu.platform.microtvm_backend module

mlonmcu.platform.microtvm_target module

mlonmcu.platform.mlif module

MLonMCU MLIF platform

class mlonmcu.platform.mlif.MlifPlatform(features=None, config=None)[source]

Bases: CompilePlatform, TargetPlatform

Model Library Interface Platform class.

DEFAULTS = {'build_dir': None, 'debug': False, 'debug_symbols': False, 'fail_on_error': False, 'fuse_ld': None, 'garbage_collect': True, 'goal': 'generic_mlonmcu', 'ignore_data': True, 'input_data_path': None, 'lto': False, 'mem_only': False, 'model_support_dir': None, 'num_threads': 2, 'optimize': None, 'output_data_path': None, 'prebuild_lib_path': None, 'print_outputs': False, 'skip_check': False, 'slim_cpp': True, 'strip_strings': False, 'template': 'ml_interface', 'toolchain': 'gcc', 'unroll_loops': None, 'verbose_makefile': False}
FEATURES = {'arm_dsp', 'arm_mvei', 'auto_vectorize', 'benchmark', 'cmsisnn', 'cmsisnnbyoc', 'debug', 'muriscvnn', 'muriscvnnbyoc', 'pext', 'validate', 'vext', 'xpulp'}
OPTIONAL = {'llvm.install_dir', 'srecord.install_dir'}
REQUIRED = {'mlif.src_dir'}
close()[source]
compile(target, src=None, model=None, data_file=None)[source]
configure(target, src, _model)[source]
create_target(name)[source]
property debug_symbols
property fail_on_error
property fuse_ld
property garbage_collect
gen_data_artifact()[source]
generate(src, target, model=None) Tuple[dict, dict][source]
get_cmake_args()[source]
get_definitions()[source]
get_supported_targets()[source]
property goal
property ignore_data
init_directory(path=None, context=None)[source]
property input_data_path
property llvm_dir
property lto
property mem_only
property mlif_dir
property model_support_dir
property optimize
property output_data_path
property prebuild_lib_dir
prepare()[source]
prepare_environment()[source]
property skip_check
property slim_cpp
property srecord_dir
property strip_strings
property template
property toolchain
property unroll_loops
property validate_outputs
property verbose_makefile

mlonmcu.platform.mlif_target module

mlonmcu.platform.platform module

class mlonmcu.platform.platform.BuildPlatform(name, features=None, config=None)[source]

Bases: Platform

Abstract build platform class.

export_artifacts(path)[source]
property supports_build
class mlonmcu.platform.platform.CompilePlatform(name, features=None, config=None)[source]

Bases: Platform

Abstract compile platform class.

DEFAULTS = {'build_dir': None, 'debug': False, 'num_threads': 2, 'print_outputs': False}
FEATURES = {'debug'}
property debug
abstract generate(src, target, model=None) Tuple[dict, dict][source]
generate_artifacts(src, target, model=None) List[Artifact][source]
get_metrics(elf)[source]
property num_threads
property supports_compile
class mlonmcu.platform.platform.Platform(name, features=None, config=None)[source]

Bases: object

Abstract platform class.

DEFAULTS = {'print_outputs': False}
FEATURES = {}
OPTIONAL = {}
REQUIRED = {}
get_supported_backends()[source]
get_supported_targets()[source]
init_directory(path=None, context=None)[source]
property print_outputs
process_features(features)[source]
property supports_build
property supports_compile
property supports_flash
property supports_monitor
property supports_tune
class mlonmcu.platform.platform.TargetPlatform(name, features=None, config=None)[source]

Bases: Platform

Abstract target platform class.

create_target(name)[source]
flash(elf, target, timeout=120)[source]
monitor(target, timeout=60)[source]
run(elf, target, timeout=120)[source]
property supports_flash
property supports_monitor
class mlonmcu.platform.platform.TunePlatform(name, features=None, config=None)[source]

Bases: Platform

Abstract tune platform class.

export_artifacts(path)[source]
property supports_tune
tune_model(model_path, backend, target)[source]

mlonmcu.platform.tvm module

MLonMCU TVM platform

class mlonmcu.platform.tvm.TvmPlatform(features=None, config=None)[source]

Bases: TvmBasePlatform, TvmBuildPlatform, TvmTunePlatform

TVM Platform class.

DEFAULTS = {'aggregate': 'none', 'autoscheduler_enable': False, 'autoscheduler_include_simple_tasks': False, 'autoscheduler_log_estimated_latency': True, 'autotuning_append': None, 'autotuning_early_stopping': None, 'autotuning_max_parallel': 1, 'autotuning_mode': None, 'autotuning_num_workers': None, 'autotuning_results_file': None, 'autotuning_tasks': None, 'autotuning_timeout': 100, 'autotuning_trials': 10, 'autotuning_trials_single': None, 'autotuning_use_rpc': False, 'autotuning_visualize': False, 'autotuning_visualize_file': None, 'autotuning_visualize_live': False, 'autotvm_enable': False, 'autotvm_tuner': 'ga', 'enable_wandb': False, 'experimental_tvmc_tune_tasks': False, 'experimental_tvmc_tune_visualize': False, 'fill_mode': None, 'ins_file': None, 'metascheduler_enable': False, 'min_repeat_ms': 0, 'number': 1, 'outs_file': None, 'print_outputs': False, 'print_top': False, 'profile': False, 'project_dir': None, 'repeat': 1, 'rpc_hostname': None, 'rpc_key': None, 'rpc_port': None, 'total_time': False, 'tvmc_custom_script': None, 'use_rpc': False}
FEATURES = {'autoscheduler', 'autotvm', 'benchmark', 'metascheduler', 'tvm_profile', 'tvm_rpc'}
REQUIRED = {'tvm.build_dir', 'tvm.configs_dir', 'tvm.pythonpath'}

mlonmcu.platform.tvm_backend module

mlonmcu.platform.tvm_target module

mlonmcu.platform.zephyr module

MLonMCU Zephyr platform

class mlonmcu.platform.zephyr.ZephyrPlatform(features=None, config=None)[source]

Bases: CompilePlatform, TargetPlatform

Zephyr Platform class.

DEFAULTS = {'baud': 115200, 'build_dir': None, 'debug': False, 'flash_only': False, 'num_threads': 2, 'optimize': None, 'port': None, 'print_outputs': False, 'project_dir': None, 'project_template': None, 'wait_for_user': True}
FEATURES = {'benchmark', 'debug'}
REQUIRED = {'zephyr.install_dir', 'zephyr.sdk_dir', 'zephyr.venv_dir'}
property baud
property build_dir
close()[source]
compile(target, src=None)[source]
create_target(name)[source]
flash(elf, target, timeout=120)[source]
property flash_only
generate(src, target, model=None) Tuple[dict, dict][source]
get_serial(target)[source]
get_supported_targets()[source]
get_west_cmake_args()[source]
init_directory(path=None, context=None)[source]
invoke_west(*args, **kwargs)[source]
monitor(target, timeout=60)[source]
property optimize
property port
prepare(target, src)[source]
property project_template
property wait_for_user
property zephyr_install_dir
property zephyr_sdk_dir
property zephyr_venv_dir

mlonmcu.platform.zephyr_target module

Module contents

MLonMCU platform submodule

class mlonmcu.platform.Platform(name, features=None, config=None)[source]

Bases: object

Abstract platform class.

DEFAULTS = {'print_outputs': False}
FEATURES = {}
OPTIONAL = {}
REQUIRED = {}
get_supported_backends()[source]
get_supported_targets()[source]
init_directory(path=None, context=None)[source]
property print_outputs
process_features(features)[source]
property supports_build
property supports_compile
property supports_flash
property supports_monitor
property supports_tune
mlonmcu.platform.get_platforms()[source]
mlonmcu.platform.register_platform(platform_name, p, override=False)[source]