mlonmcu 0.4.1__tar.gz → 0.5.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/PKG-INFO +2 -5
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/context/context.py +1 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/feature/features.py +14 -4
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tflm/backend/tflmc.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tflm/backend/tflmi.py +57 -28
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/backend.py +16 -5
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/tvmaot.py +7 -3
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/tvmcg.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/wrapper.py +3 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/frontend.py +3 -3
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/espidf/espidf.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/mlif/mlif.py +18 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm_target.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/zephyr/zephyr.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/session/postprocess/postprocesses.py +2 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/session/run.py +19 -8
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/gen_requirements.py +2 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/ara.py +2 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/corstone300.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/pulp.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/riscv_gcc.py +10 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/spike.py +2 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/tf.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/verilator.py +3 -3
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/vicuna.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/zephyr.py +5 -5
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/utils.py +10 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/_target.py +4 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/bench.py +17 -5
- mlonmcu-0.5.dev0/mlonmcu/target/host_x86_ssh.py +54 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/__init__.py +2 -0
- mlonmcu-0.5.dev0/mlonmcu/target/riscv/canmv_k230_ssh.py +114 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/etiss.py +3 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/riscv.py +22 -1
- mlonmcu-0.5.dev0/mlonmcu/target/ssh_target.py +148 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/target.py +7 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/version.py +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu.egg-info/PKG-INFO +2 -5
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu.egg-info/SOURCES.txt +5 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu.egg-info/entry_points.txt +0 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu.egg-info/requires.txt +4 -2
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/default.yml.j2 +1 -1
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/dev.yml.j2 +2 -2
- mlonmcu-0.5.dev0/resources/templates/k230.yml.j2 +194 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/HISTORY.md +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/LICENSE +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/MANIFEST.in +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/NOTICE +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/README.md +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/Makefile +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/authors.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/components/auto_vectorize.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/components/cmsisnnbyoc.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/components/muriscvnnbyoc.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/components.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/conf.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/contributing.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/design.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/docs.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/environments.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/history.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/index.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/installation.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/logging.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/make.bat +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.cli.helper.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.cli.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.context.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.environment.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.feature.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.flow.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.flow.tflm.backend.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.flow.tflm.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.flow.tvm.backend.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.flow.tvm.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.models.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.platform.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.session.postprocess.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.session.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.setup.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.target.arm.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.target.riscv.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/mlonmcu.target.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/modules.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/postprocess.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/readme.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/docs/usage.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/artifact.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/build.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/cleanup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/common.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/compile.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/env.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/export.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/flow.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/helper/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/helper/filter.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/helper/parse.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/init.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/load.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/main.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/models.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/run.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/setup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/cli/tune.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/config.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/context/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/context/read_write_filelock.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/config.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/environment.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/init.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/list.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/loader.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/templates.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/environment/writer.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/feature/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/feature/feature.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/feature/type.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/backend.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/framework.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tflm/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tflm/backend/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tflm/backend/backend.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tflm/framework.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/model_info.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/python_utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/tuner.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/tvmaotplus.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/tvmc_utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/tvmllvm.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/backend/tvmrt.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/flow/tvm/framework.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/logging.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/mlonmcu.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/convert_data.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/group.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/lookup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/metadata.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/model.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/options.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/models/utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/espidf/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/espidf/espidf_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/lookup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_arduino_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_backend.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_base_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_build_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_compile_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_corev_ovpsim_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_espidf_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_etiss_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_host_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_mlonmcu_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_spike_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_target_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_template_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_tune_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/microtvm/microtvm_zephyr_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/mlif/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/mlif/mlif_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm_backend.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm_base_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm_build_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm_rpc_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm_target_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/tvm/tvm_tune_platform.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/zephyr/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/platform/zephyr/zephyr_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/plugins.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/report.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/session/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/session/postprocess/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/session/postprocess/postprocess.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/session/session.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/cache.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/setup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/task.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/arm_gcc.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/benchmarks.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/cmsisnn.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/common.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/corev.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/cv32e40p.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/dtc.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/espidf.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/etiss.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/layergen.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/llvm.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/mlif.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/muriscvnn.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/ovpsim.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/srecord.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/tflite.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/tflmc.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/tvm.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/setup/tasks/utvmcg.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/arm/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/arm/corstone300.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/arm/util.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/common.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/elf.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/host_x86.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/metrics.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/ara.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/ara_rtl.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/corev_ovpsim.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/cv32e40p.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/etiss_pulpino.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/gvsoc_pulp.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/ovpsim.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/riscv_bext_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/riscv_pext_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/riscv_qemu.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/riscv_vext_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/spike.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/util.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/target/riscv/vicuna.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/testing/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/testing/helpers.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/testing/riscv_toolchain.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/timeout.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu/utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu.egg-info/dependency_links.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu.egg-info/not-zip-safe +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/mlonmcu.egg-info/top_level.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/crt_config/README.md +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/crt_config/crt_config.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tuning_records/riscv_cpu_v0.01.log.best +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/backend.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/codegen.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw1.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw2.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/passes.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/patterns.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/strategies.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/backend.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/codegen.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw1.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/passes.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/patterns.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/strategies.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/q_vanilla.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/frameworks/tvm/tvmc_extension/vanilla.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/patches/fix_esp32c3_march.patch +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/patches/pulp_freertos_support.patch +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/README.md +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_data.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/exit.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/ml_interface.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/printing.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/example_test.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/info.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc.orig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/COPYING +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/_kiss_fft_guts.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/main.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/bits.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_common.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/micro_speech_esp32devboard/sdkconfig.defaults +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/README.md +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/default_data.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/include/exit.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/include/ml_interface.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/include/printing.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/ml_interface.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/mlif/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/tflite-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/tflite-lib/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/tvm-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/components/tvm-lib/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/example_test.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/main/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/main/main.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/espidf/project/sdkconfig.defaults +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/README.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/AddAllSubdirs.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/ChooseTarget.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/LinkTFLite.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/LinkTVM.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/LookupClang.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/backends/tflmc.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/backends/tflmi.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/backends/tvmaot.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/backends/tvmaotplus.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/backends/tvmcg.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/backends/tvmllvm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/backends/tvmrt.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/extras.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_gcc.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_llvm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/features/cmsisnn.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/features/muriscvnn.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/frameworks/tflm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/frameworks/tflm_mlif.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/frameworks/tvm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/cmake/frameworks/tvm_mlif.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/drivers/fake_input.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/drivers/fake_input.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/default_data.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/support/dummy.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/support/exit.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/support/printing.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/support/quantize.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/targets/corstone300.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/targets/default.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/targets/etiss_pulpino.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/targets/generic_riscv.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/targets/riscv_qemu.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/lib/targets/target.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/prj.conf +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/sample.yaml +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project/src/main.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/Kconfig +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/README.rst +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/AddAllSubdirs.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/ChooseTarget.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/LinkTFLite.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/LinkTVM.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/LookupClang.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/backends/tflmc.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/backends/tflmi.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/backends/tvmaot.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/backends/tvmaotplus.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/backends/tvmcg.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/backends/tvmllvm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/backends/tvmrt.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/extras.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_gcc.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_llvm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/features/cmsisnn.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/features/muriscvnn.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/frameworks/tflm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/frameworks/tflm_mlif.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/frameworks/tvm.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/cmake/frameworks/tvm_mlif.cmake +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/default_data.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/default_model_support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/drivers/fake_input.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/drivers/fake_input.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/support/dummy.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/support/exit.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/support/printing.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/support/quantize.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/targets/corstone300.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/targets/default.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/targets/etiss_pulpino.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/targets/generic_riscv.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/targets/riscv_qemu.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/lib/targets/target.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/ml_interface.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/ml_interface.h +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/prj.conf +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/sample.yaml +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/settings.json +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/platforms/zephyr/project2/src/main.c +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/pycharm/.run/README.md +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/pycharm/.run/run resnet tflmi on pulp.run.xml +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/pycharm/.run/step1_ init env.run.xml +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/pycharm/.run/step2_ setup.run.xml +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/pycharm/.run/step3_ run resnet on pulpxpulpissimo.run.xml +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/ara.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/corev.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/minimal.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/old/phi.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/old/research.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/old/tune.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/pulp.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/tumeda.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/uma.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/resources/templates/vicuna.yml.j2 +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/setup.cfg +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/setup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/__init__.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/conftest.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/fixtures.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/cli/test_cli.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/cli/test_cli.py.wip +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/cli/test_cli2.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/components/test_backends.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/components/test_features.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/components/test_frontends.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/components/test_platforms.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/components/test_postprocesses.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/components/test_targets.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/toolchains/test_riscv_gcc.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/integration-tests/toolchains/test_riscv_llvm.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/test_mlonmcu.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/artifact/test_artifact.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/backends/tvm/test_wrapper.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/context/test_context.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/context/test_read_write_filelock.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/environment/test_environment.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/environment/test_environment_writer.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/models/test_convert_data.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/models/test_models_group.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/models/test_models_lookup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/models/test_models_utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/platform/test_platform_lookup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/plugins/test_plugins.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/setup/test_setup_utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/target/test_target_arm_utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/target/test_target_registry.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/target/test_target_riscv_utils.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_cli_filter.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_cli_parse.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_config.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_feature.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_flow.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_models.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_session.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_setup.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_target.py +0 -0
- {mlonmcu-0.4.1 → mlonmcu-0.5.dev0}/tests/unit-tests/test_utils.py +0 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mlonmcu
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.dev0
|
|
4
4
|
Summary: This project contains research code related to the deployment of inferenceor learning applications on tiny micro-controllers.
|
|
5
5
|
Home-page: https://github.com/tum-ei-eda/mlonmcu
|
|
6
6
|
Author: TUM Department of Electrical and Computer Engineering - Chair of Electronic Design Automation
|
|
7
7
|
Author-email: philipp.van-kempen@tum.de
|
|
8
8
|
License: Apache License 2.0
|
|
9
9
|
Keywords: mlonmcu
|
|
10
|
-
Platform: UNKNOWN
|
|
11
10
|
Classifier: Development Status :: 2 - Pre-Alpha
|
|
12
11
|
Classifier: Intended Audience :: Developers
|
|
13
12
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
@@ -21,7 +20,6 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
21
|
Requires-Python: >=3.7
|
|
23
22
|
Description-Content-Type: text/markdown
|
|
24
|
-
Provides-Extra: all-prod
|
|
25
23
|
Provides-Extra: espidf
|
|
26
24
|
Provides-Extra: etiss
|
|
27
25
|
Provides-Extra: gvsoc_pulp
|
|
@@ -36,6 +34,7 @@ Provides-Extra: tvm-autotuning
|
|
|
36
34
|
Provides-Extra: visualize
|
|
37
35
|
Provides-Extra: visualize_tflite
|
|
38
36
|
Provides-Extra: zephyr
|
|
37
|
+
Provides-Extra: all-prod
|
|
39
38
|
License-File: LICENSE
|
|
40
39
|
License-File: NOTICE
|
|
41
40
|
|
|
@@ -260,5 +259,3 @@ the projects [Scale4Edge](https://www.edacentrum.de/scale4edge/) (grant number 1
|
|
|
260
259
|
## 0.1.0 (2021-11-12)
|
|
261
260
|
|
|
262
261
|
* First closed-source release.
|
|
263
|
-
|
|
264
|
-
|
|
@@ -226,6 +226,7 @@ def resolve_environment_file(name: str = None, path: str = None) -> Path:
|
|
|
226
226
|
env_file = lookup_environment()
|
|
227
227
|
if not env_file:
|
|
228
228
|
raise RuntimeError("Lookup for mlonmcu environment was not successful.")
|
|
229
|
+
assert env_file is not None, "Environment not found!"
|
|
229
230
|
return Path(env_file)
|
|
230
231
|
|
|
231
232
|
|
|
@@ -464,8 +464,8 @@ class Vext(SetupFeature, TargetFeature, PlatformFeature):
|
|
|
464
464
|
|
|
465
465
|
def get_target_config(self, target):
|
|
466
466
|
# TODO: enforce llvm toolchain using add_compile_config and CompileFeature?
|
|
467
|
-
assert is_power_of_two(self.vlen)
|
|
468
|
-
assert self.vlen >= VEXT_MIN_ALLOWED_VLEN
|
|
467
|
+
assert self.vlen is None or is_power_of_two(self.vlen)
|
|
468
|
+
assert self.vlen is None or self.vlen >= VEXT_MIN_ALLOWED_VLEN
|
|
469
469
|
return filter_none(
|
|
470
470
|
{
|
|
471
471
|
f"{target}.enable_vext": True,
|
|
@@ -752,6 +752,7 @@ class Usmp(BackendFeature):
|
|
|
752
752
|
DEFAULTS = {
|
|
753
753
|
**FeatureBase.DEFAULTS,
|
|
754
754
|
"algorithm": "greedy_by_conflicts", # options: greedy_by_conflicts, greedy_by_size, hill_climb
|
|
755
|
+
"use_workspace_io": False,
|
|
755
756
|
}
|
|
756
757
|
|
|
757
758
|
def __init__(self, features=None, config=None):
|
|
@@ -761,6 +762,11 @@ class Usmp(BackendFeature):
|
|
|
761
762
|
def algorithm(self):
|
|
762
763
|
return str(self.config["algorithm"])
|
|
763
764
|
|
|
765
|
+
@property
|
|
766
|
+
def use_workspace_io(self):
|
|
767
|
+
value = self.config["use_workspace_io"]
|
|
768
|
+
return str2bool(value) if not isinstance(value, (bool, int)) else value
|
|
769
|
+
|
|
764
770
|
def add_backend_config(self, backend, config):
|
|
765
771
|
assert backend in ["tvmaot"], f"Unsupported feature '{self.name}' for backend '{backend}'"
|
|
766
772
|
if f"{backend}.extra_pass_config" in config:
|
|
@@ -775,6 +781,7 @@ class Usmp(BackendFeature):
|
|
|
775
781
|
tmp = ast.literal_eval(tmp)
|
|
776
782
|
assert isinstance(tmp, dict)
|
|
777
783
|
tmp["tir.usmp.enable"] = self.enabled
|
|
784
|
+
tmp["tir.usmp.use_workspace_io"] = self.use_workspace_io
|
|
778
785
|
if self.algorithm in ["greedy_by_size", "greedy_by_conflicts", "hill_climb"]:
|
|
779
786
|
tmp["tir.usmp.algorithm"] = self.algorithm
|
|
780
787
|
else:
|
|
@@ -1700,11 +1707,12 @@ class Benchmark(PlatformFeature, TargetFeature):
|
|
|
1700
1707
|
metrics_ = metrics[1:] # drop first run (warmup)
|
|
1701
1708
|
|
|
1702
1709
|
# TODO: this currently processes all numeric metrics, should probably ignore stuff like MIPS etc.
|
|
1710
|
+
candidates = ["cycle", "time", "instruction"] # TODO: allow overriding via config
|
|
1703
1711
|
data_ = [
|
|
1704
1712
|
{
|
|
1705
1713
|
key: (float(value) / self.num_runs) if self.num_runs > 1 else value
|
|
1706
1714
|
for key, value in m.data.items()
|
|
1707
|
-
if
|
|
1715
|
+
if any(x in key.lower() for x in candidates)
|
|
1708
1716
|
}
|
|
1709
1717
|
for m in metrics_
|
|
1710
1718
|
]
|
|
@@ -1722,7 +1730,9 @@ class Benchmark(PlatformFeature, TargetFeature):
|
|
|
1722
1730
|
elif self.aggregate == "none":
|
|
1723
1731
|
aggs = []
|
|
1724
1732
|
|
|
1725
|
-
if len(
|
|
1733
|
+
if len(df.columns) == 0:
|
|
1734
|
+
data = {}
|
|
1735
|
+
elif len(aggs) == 0:
|
|
1726
1736
|
data = {}
|
|
1727
1737
|
else:
|
|
1728
1738
|
df_ = df.agg(aggs)
|
|
@@ -106,7 +106,7 @@ size_t model_outputs();
|
|
|
106
106
|
args.append(str(self.model))
|
|
107
107
|
args.append(str(Path(tmpdirname) / f"{self.prefix}.cc"))
|
|
108
108
|
args.append(f"{self.prefix}_")
|
|
109
|
-
out = utils.
|
|
109
|
+
out = utils.execute(tflmc_exe, *args, live=self.print_outputs)
|
|
110
110
|
files = [f for f in os.listdir(tmpdirname) if os.path.isfile(os.path.join(tmpdirname, f))]
|
|
111
111
|
# TODO: ensure that main file is processed first
|
|
112
112
|
for filename in files:
|
|
@@ -129,32 +129,32 @@ size_t {prefix}_outputs();
|
|
|
129
129
|
reporter=True,
|
|
130
130
|
):
|
|
131
131
|
arena_size = arena_size if arena_size is not None else TFLMIBackend.DEFAULTS["arena_size"]
|
|
132
|
-
if len(ops) > 0:
|
|
133
132
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
prev = c
|
|
140
|
-
continue
|
|
141
|
-
elif prev is None:
|
|
142
|
-
new_name += c
|
|
143
|
-
elif (prev == "_") or prev.isdigit():
|
|
144
|
-
new_name += c
|
|
145
|
-
elif prev.isupper():
|
|
146
|
-
new_name += c.lower()
|
|
147
|
-
elif c.islower():
|
|
148
|
-
new_name += c
|
|
133
|
+
def convert_op_name(op):
|
|
134
|
+
new_name = ""
|
|
135
|
+
prev = None
|
|
136
|
+
for i, c in enumerate(op):
|
|
137
|
+
if c == "_":
|
|
149
138
|
prev = c
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
139
|
+
continue
|
|
140
|
+
elif prev is None:
|
|
141
|
+
new_name += c
|
|
142
|
+
elif (prev == "_") or prev.isdigit():
|
|
143
|
+
new_name += c
|
|
144
|
+
elif prev.isupper():
|
|
145
|
+
new_name += c.lower()
|
|
146
|
+
elif c.islower():
|
|
147
|
+
new_name += c
|
|
148
|
+
prev = c
|
|
149
|
+
# workarounds for strange op names
|
|
150
|
+
MAPPINGS = {
|
|
151
|
+
"Lstm": "LSTM",
|
|
152
|
+
}
|
|
153
|
+
for key, value in MAPPINGS.items():
|
|
154
|
+
new_name = new_name.replace(key, value)
|
|
155
|
+
return new_name
|
|
157
156
|
|
|
157
|
+
if len(ops) > 0:
|
|
158
158
|
op_names = list(map(convert_op_name, ops))
|
|
159
159
|
|
|
160
160
|
ops = op_names
|
|
@@ -162,8 +162,34 @@ size_t {prefix}_outputs();
|
|
|
162
162
|
raise NotImplementedError
|
|
163
163
|
if len(registrations) > 0:
|
|
164
164
|
raise NotImplementedError
|
|
165
|
-
if ops_resolver
|
|
166
|
-
|
|
165
|
+
if ops_resolver == "mutable":
|
|
166
|
+
assert (
|
|
167
|
+
len(ops) > 0
|
|
168
|
+
), "No ops specified for ops_resolver=mutable!Set model ops in definition.yml or use ops_resolver=all"
|
|
169
|
+
elif ops_resolver == "all":
|
|
170
|
+
raise RuntimeError("AllOpsResolver was removed from TFLM!Use ops_resolver=mutable or ops_resolver=fallback")
|
|
171
|
+
elif ops_resolver == "fallback":
|
|
172
|
+
ops_resolver = "mutable"
|
|
173
|
+
# Defines common operators which are used in many models
|
|
174
|
+
default_ops = [
|
|
175
|
+
"ADD",
|
|
176
|
+
"AVERAGE_POOL_2D",
|
|
177
|
+
"CONCATENATION",
|
|
178
|
+
"CONV_2D",
|
|
179
|
+
"DEPTHWISE_CONV_2D",
|
|
180
|
+
"FULLY_CONNECTED",
|
|
181
|
+
# "GATHER",
|
|
182
|
+
# "LOGISTIC",
|
|
183
|
+
"MAX_POOL_2D",
|
|
184
|
+
# "MEAN",
|
|
185
|
+
# "REDUCE_MAX",
|
|
186
|
+
"RESHAPE",
|
|
187
|
+
"SOFTMAX",
|
|
188
|
+
]
|
|
189
|
+
default_ops = list(map(convert_op_name, default_ops))
|
|
190
|
+
ops = list(set(ops + default_ops)) # remove duplicates
|
|
191
|
+
else:
|
|
192
|
+
raise ValueError(f"Unsupported ops_resolver: {ops_resolver}")
|
|
167
193
|
|
|
168
194
|
model_data = None
|
|
169
195
|
with open(model, "rb") as model_buf:
|
|
@@ -271,14 +297,17 @@ private:
|
|
|
271
297
|
wrapper_content += """
|
|
272
298
|
return 1;
|
|
273
299
|
}
|
|
300
|
+
"""
|
|
274
301
|
|
|
302
|
+
if ops_resolver == "mutable":
|
|
303
|
+
wrapper_content += self.make_op_registrations(ops, custom_ops, reporter=reporter)
|
|
304
|
+
elif ops_resolver == "all":
|
|
305
|
+
wrapper_content += """
|
|
275
306
|
// This pulls in all the operation implementations we need.
|
|
276
307
|
// NOLINTNEXTLINE(runtime-global-variables)
|
|
277
|
-
|
|
278
|
-
|
|
308
|
+
static tflite::ops::micro::AllOpsResolver resolver;
|
|
279
309
|
"""
|
|
280
310
|
|
|
281
|
-
wrapper_content += self.make_op_registrations(ops, custom_ops, reporter=reporter)
|
|
282
311
|
if reporter:
|
|
283
312
|
wrapper_content += """
|
|
284
313
|
|
|
@@ -154,14 +154,20 @@ class TVMBackend(Backend):
|
|
|
154
154
|
return str2bool(temp)
|
|
155
155
|
|
|
156
156
|
@property
|
|
157
|
-
def
|
|
158
|
-
base = {"tir.disable_vectorize": self.disable_vectorize}
|
|
157
|
+
def extra_pass_config(self):
|
|
159
158
|
extra = self.config["extra_pass_config"]
|
|
159
|
+
if extra is None:
|
|
160
|
+
extra = {}
|
|
160
161
|
if isinstance(extra, str):
|
|
161
162
|
import ast
|
|
162
|
-
|
|
163
163
|
extra = ast.literal_eval(extra)
|
|
164
164
|
assert isinstance(extra, dict)
|
|
165
|
+
return extra
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
def pass_config(self):
|
|
169
|
+
base = {"tir.disable_vectorize": self.disable_vectorize}
|
|
170
|
+
extra = self.extra_pass_config
|
|
165
171
|
base.update(extra)
|
|
166
172
|
return base
|
|
167
173
|
|
|
@@ -394,7 +400,7 @@ class TVMBackend(Backend):
|
|
|
394
400
|
)
|
|
395
401
|
if self.use_tlcpack:
|
|
396
402
|
pre = ["tvmc"]
|
|
397
|
-
return utils.
|
|
403
|
+
return utils.execute(*pre, command, *args, live=self.print_outputs, env=env, cwd=cwd)
|
|
398
404
|
else:
|
|
399
405
|
if self.tvmc_custom_script is None:
|
|
400
406
|
pre = ["-m", "tvm.driver.tvmc"]
|
|
@@ -430,6 +436,8 @@ class TVMBackend(Backend):
|
|
|
430
436
|
self.model_format, self.model_info = get_fallback_model_info(
|
|
431
437
|
model, input_shapes, output_shapes, input_types, output_types, backend_name=self.name
|
|
432
438
|
)
|
|
439
|
+
else:
|
|
440
|
+
self.input_shapes = None # Relevant for multiple subs using the same backend
|
|
433
441
|
if need_model_info:
|
|
434
442
|
try:
|
|
435
443
|
self.model_format, self.model_info = get_model_info(model, backend_name=self.name)
|
|
@@ -446,8 +454,11 @@ class TVMBackend(Backend):
|
|
|
446
454
|
if self.model_info:
|
|
447
455
|
# TODO: also handle output_shapes
|
|
448
456
|
# TODO: take care of refresh_model_info
|
|
449
|
-
if input_shapes:
|
|
457
|
+
if self.input_shapes:
|
|
450
458
|
self.model_info.in_tensors = [t for t in self.model_info.in_tensors if t.name in self.input_shapes]
|
|
459
|
+
assert (
|
|
460
|
+
len(self.model_info.in_tensors) > 0
|
|
461
|
+
), "Missmatch between provided input names and detected ones"
|
|
451
462
|
else:
|
|
452
463
|
self.input_shapes = {tensor.name: tensor.shape for tensor in self.model_info.in_tensors}
|
|
453
464
|
if self.model_info:
|
|
@@ -43,9 +43,6 @@ class TVMAOTBackend(TVMBackend):
|
|
|
43
43
|
"arena_size": None, # Determined automatically
|
|
44
44
|
"unpacked_api": False,
|
|
45
45
|
"alignment_bytes": 16,
|
|
46
|
-
"extra_pass_config": {
|
|
47
|
-
"tir.usmp.enable": False,
|
|
48
|
-
},
|
|
49
46
|
}
|
|
50
47
|
|
|
51
48
|
name = "tvmaot"
|
|
@@ -55,6 +52,13 @@ class TVMAOTBackend(TVMBackend):
|
|
|
55
52
|
executor="aot", runtime=runtime, fmt=fmt, system_lib=system_lib, features=features, config=config
|
|
56
53
|
)
|
|
57
54
|
|
|
55
|
+
@property
|
|
56
|
+
def extra_pass_config(self):
|
|
57
|
+
default = {"tir.usmp.enable": False}
|
|
58
|
+
extra = super().extra_pass_config
|
|
59
|
+
default.update(extra)
|
|
60
|
+
return default
|
|
61
|
+
|
|
58
62
|
@property
|
|
59
63
|
def arena_size(self):
|
|
60
64
|
size = self.config["arena_size"]
|
|
@@ -74,7 +74,7 @@ class TVMCGBackend(TVMRTBackend):
|
|
|
74
74
|
args.append(params_bin_file)
|
|
75
75
|
args.append(out_file)
|
|
76
76
|
args.append(str(max_workspace_size))
|
|
77
|
-
out = utils.
|
|
77
|
+
out = utils.execute(tvmcg_exe, *args, live=self.print_outputs)
|
|
78
78
|
codegen_src = open(out_file, "r").read()
|
|
79
79
|
artifact = Artifact("staticrt.c", content=codegen_src, fmt=ArtifactFormat.SOURCE)
|
|
80
80
|
workspace_size_artifact = Artifact(
|
|
@@ -71,6 +71,7 @@ def generate_common_includes():
|
|
|
71
71
|
#include "tvm/runtime/crt/error_codes.h"
|
|
72
72
|
#include "tvm/runtime/c_runtime_api.h"
|
|
73
73
|
#include "printing.h"
|
|
74
|
+
#include "exit.h"
|
|
74
75
|
"""
|
|
75
76
|
|
|
76
77
|
|
|
@@ -215,7 +216,7 @@ TVMModuleHandle TVMArgs_AsModuleHandle(const TVMArgs* args, size_t index);
|
|
|
215
216
|
|
|
216
217
|
void __attribute__((noreturn)) TVMPlatformAbort(tvm_crt_error_t code)
|
|
217
218
|
{
|
|
218
|
-
|
|
219
|
+
mlonmcu_exit(1);
|
|
219
220
|
}
|
|
220
221
|
|
|
221
222
|
void TVMLogf(const char* msg, ...)
|
|
@@ -534,7 +535,7 @@ tvm_crt_error_t TVMPlatformMemoryFree(void* ptr, DLDevice dev)
|
|
|
534
535
|
mainCode += """
|
|
535
536
|
void __attribute__((noreturn)) TVMPlatformAbort(tvm_crt_error_t code)
|
|
536
537
|
{
|
|
537
|
-
|
|
538
|
+
mlonmcu_exit(1);
|
|
538
539
|
}
|
|
539
540
|
|
|
540
541
|
TVM_DLL int TVMFuncRegisterGlobal(const char* name, TVMFunctionHandle f, int override)
|
|
@@ -452,7 +452,7 @@ class TfLiteFrontend(SimpleFrontend):
|
|
|
452
452
|
|
|
453
453
|
def get_num_layers(file):
|
|
454
454
|
tflite_pack_args = [path, "--count-layers", "--noop"]
|
|
455
|
-
out = utils.
|
|
455
|
+
out = utils.execute(self.pack_script, *tflite_pack_args)
|
|
456
456
|
matches = re.compile(r"Found\s(\d+)\slayers.").findall(out)
|
|
457
457
|
assert len(matches) == 1
|
|
458
458
|
num = int(matches[0])
|
|
@@ -476,7 +476,7 @@ class TfLiteFrontend(SimpleFrontend):
|
|
|
476
476
|
out_name = f"layer{i}"
|
|
477
477
|
out_file = Path(dest) / out_name
|
|
478
478
|
tflite_pack_args = [path, "-k", str(i), "--out", out_file]
|
|
479
|
-
utils.
|
|
479
|
+
utils.execute(self.pack_script, *tflite_pack_args)
|
|
480
480
|
assert out_file.is_file()
|
|
481
481
|
results.append(out_file)
|
|
482
482
|
return results
|
|
@@ -702,7 +702,7 @@ class PackedFrontend(Frontend): # Inherit from TFLiteFrontend? -> how to do con
|
|
|
702
702
|
with open(in_file, "wb") as handle:
|
|
703
703
|
handle.write(tflite_data)
|
|
704
704
|
out_file = Path(tmpdirname) / "out.tflm"
|
|
705
|
-
utils.
|
|
705
|
+
utils.execute(packer_exe, in_file, out_file)
|
|
706
706
|
with open(out_file, "rb") as handle:
|
|
707
707
|
packed_data = handle.read()
|
|
708
708
|
|
|
@@ -116,7 +116,7 @@ class EspIdfPlatform(CompilePlatform, TargetPlatform):
|
|
|
116
116
|
# + f" > /dev/null && {self.idf_exe} "
|
|
117
117
|
+ " ".join([str(arg) for arg in args])
|
|
118
118
|
)
|
|
119
|
-
out = utils.
|
|
119
|
+
out = utils.execute(
|
|
120
120
|
cmd, shell=True, env=env, **kwargs, executable="/bin/bash"
|
|
121
121
|
) # TODO: using shell=True is insecure but right now we can not avoid it?
|
|
122
122
|
return out
|
|
@@ -79,10 +79,13 @@ class MlifPlatform(CompilePlatform, TargetPlatform):
|
|
|
79
79
|
"lto": False,
|
|
80
80
|
"slim_cpp": True,
|
|
81
81
|
"garbage_collect": True,
|
|
82
|
-
"fuse_ld": None,
|
|
83
82
|
"strip_strings": False,
|
|
84
83
|
"unroll_loops": None,
|
|
85
84
|
"goal": "generic_mlonmcu", # Use 'generic_mlif' for older version of MLIF
|
|
85
|
+
# llvm specific (TODO: move to toolchain components)
|
|
86
|
+
"fuse_ld": None,
|
|
87
|
+
"global_isel": False,
|
|
88
|
+
"extend_attrs": False,
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
REQUIRED = {"mlif.src_dir"}
|
|
@@ -268,6 +271,16 @@ class MlifPlatform(CompilePlatform, TargetPlatform):
|
|
|
268
271
|
value = self.config["fuse_ld"]
|
|
269
272
|
return value
|
|
270
273
|
|
|
274
|
+
@property
|
|
275
|
+
def global_isel(self):
|
|
276
|
+
value = self.config["global_isel"]
|
|
277
|
+
return str2bool(value) if not isinstance(value, (bool, int)) else value
|
|
278
|
+
|
|
279
|
+
@property
|
|
280
|
+
def extend_attrs(self):
|
|
281
|
+
value = self.config["extend_attrs"]
|
|
282
|
+
return str2bool(value) if not isinstance(value, (bool, int)) else value
|
|
283
|
+
|
|
271
284
|
@property
|
|
272
285
|
def strip_strings(self):
|
|
273
286
|
value = self.config["strip_strings"]
|
|
@@ -316,6 +329,10 @@ class MlifPlatform(CompilePlatform, TargetPlatform):
|
|
|
316
329
|
definitions["MODEL_SUPPORT_DIR"] = self.model_support_dir
|
|
317
330
|
if self.fuse_ld is not None:
|
|
318
331
|
definitions["FUSE_LD"] = self.fuse_ld
|
|
332
|
+
if self.global_isel is not None:
|
|
333
|
+
definitions["GLOBAL_ISEL"] = self.global_isel
|
|
334
|
+
if self.extend_attrs is not None:
|
|
335
|
+
definitions["EXTEND_ATTRS"] = self.extend_attrs
|
|
319
336
|
if self.strip_strings is not None:
|
|
320
337
|
definitions["STRIP_STRINGS"] = self.strip_strings
|
|
321
338
|
if self.unroll_loops is not None:
|
|
@@ -150,7 +150,7 @@ def create_tvm_platform_target(name, platform, base=Target):
|
|
|
150
150
|
metrics = {"default": metrics}
|
|
151
151
|
for item in extracted:
|
|
152
152
|
metrics_ = Metrics()
|
|
153
|
-
metrics_.add("Runtime [s]", float(item["Duration (us)"]) / 1e6)
|
|
153
|
+
metrics_.add("Runtime [s]", float(item["Duration (us)"].replace(",", "")) / 1e6)
|
|
154
154
|
metrics[item["Name"]] = metrics_
|
|
155
155
|
|
|
156
156
|
return metrics, out, []
|
|
@@ -111,7 +111,7 @@ class ZephyrPlatform(CompilePlatform, TargetPlatform):
|
|
|
111
111
|
env["ZEPHYR_BASE"] = str(self.zephyr_install_dir / "zephyr")
|
|
112
112
|
env["ZEPHYR_SDK_INSTALL_DIR"] = str(self.zephyr_sdk_dir)
|
|
113
113
|
cmd = ". " + str(self.zephyr_venv_dir / "bin" / "activate") + " && west " + " ".join([str(arg) for arg in args])
|
|
114
|
-
out = utils.
|
|
114
|
+
out = utils.execute(
|
|
115
115
|
cmd, shell=True, env=env, **kwargs, executable="/bin/bash"
|
|
116
116
|
) # TODO: using shell=True is insecure but right now we can not avoid it?
|
|
117
117
|
return out
|
|
@@ -648,7 +648,7 @@ class AnalyseInstructionsPostprocess(RunPostprocess):
|
|
|
648
648
|
return dict(counts.head(top)), dict(probs.head(top))
|
|
649
649
|
|
|
650
650
|
def _gen_csv(label, counts, probs):
|
|
651
|
-
lines = [f"{label},Count,
|
|
651
|
+
lines = [f"{label},Count,Probability"]
|
|
652
652
|
for x in counts:
|
|
653
653
|
line = f"{x},{counts[x]},{probs[x]:.3f}"
|
|
654
654
|
lines.append(line)
|
|
@@ -1027,7 +1027,7 @@ class CompareRowsPostprocess(SessionPostprocess):
|
|
|
1027
1027
|
post_df = report.post_df
|
|
1028
1028
|
group_by = self.group_by
|
|
1029
1029
|
if group_by is None:
|
|
1030
|
-
group_by = [x for x in pre_df.columns if x
|
|
1030
|
+
group_by = [x for x in pre_df.columns if x not in ["Run", "Sub"]]
|
|
1031
1031
|
assert isinstance(group_by, list)
|
|
1032
1032
|
assert all(col in list(pre_df.columns) + list(post_df.columns) for col in group_by), "Cols mssing in df"
|
|
1033
1033
|
to_compare = self.to_compare
|
|
@@ -356,6 +356,7 @@ class Run:
|
|
|
356
356
|
def add_model(self, model):
|
|
357
357
|
"""Setter for the model instance."""
|
|
358
358
|
self.model = model
|
|
359
|
+
assert model is not None
|
|
359
360
|
self.model.config = filter_config(self.config, self.model.name, self.model.DEFAULTS, set(), set())
|
|
360
361
|
for platform in self.platforms:
|
|
361
362
|
self.model.add_platform_config(platform, platform.config)
|
|
@@ -885,10 +886,15 @@ class Run:
|
|
|
885
886
|
model_artifact = model_artifact[0]
|
|
886
887
|
if not model_artifact.exported:
|
|
887
888
|
model_artifact.export(self.dir)
|
|
888
|
-
input_shapes =
|
|
889
|
-
output_shapes =
|
|
890
|
-
input_types =
|
|
891
|
-
output_types =
|
|
889
|
+
input_shapes = None
|
|
890
|
+
output_shapes = None
|
|
891
|
+
input_types = None
|
|
892
|
+
output_types = None
|
|
893
|
+
if model_artifact.name.split(".", 1)[0] == self.model.name:
|
|
894
|
+
input_shapes = self.model.input_shapes
|
|
895
|
+
output_shapes = self.model.output_shapes
|
|
896
|
+
input_types = self.model.input_types
|
|
897
|
+
output_types = self.model.output_types
|
|
892
898
|
self.backend.load_model(
|
|
893
899
|
model=model_artifact.path,
|
|
894
900
|
input_shapes=input_shapes,
|
|
@@ -910,10 +916,15 @@ class Run:
|
|
|
910
916
|
model_artifact = model_artifact[0]
|
|
911
917
|
if not model_artifact.exported:
|
|
912
918
|
model_artifact.export(self.dir)
|
|
913
|
-
input_shapes =
|
|
914
|
-
output_shapes =
|
|
915
|
-
input_types =
|
|
916
|
-
output_types =
|
|
919
|
+
input_shapes = None
|
|
920
|
+
output_shapes = None
|
|
921
|
+
input_types = None
|
|
922
|
+
output_types = None
|
|
923
|
+
if model_artifact.name.split(".", 1)[0] == self.model.name:
|
|
924
|
+
input_shapes = self.model.input_shapes
|
|
925
|
+
output_shapes = self.model.output_shapes
|
|
926
|
+
input_types = self.model.input_types
|
|
927
|
+
output_types = self.model.output_types
|
|
917
928
|
self.backend.load_model(
|
|
918
929
|
model=model_artifact.path,
|
|
919
930
|
input_shapes=input_shapes,
|
|
@@ -73,6 +73,7 @@ REQUIREMENTS_BY_PIECE: RequirementsByPieceType = [
|
|
|
73
73
|
"numpy",
|
|
74
74
|
"openpyxl", # xlsx reports
|
|
75
75
|
"pandas",
|
|
76
|
+
"paramiko", # ssh
|
|
76
77
|
"pyelftools",
|
|
77
78
|
"pyyaml",
|
|
78
79
|
"tqdm",
|
|
@@ -245,7 +246,7 @@ CONSTRAINTS = [
|
|
|
245
246
|
("reedsolo", ">=1.5.3,<=1.5.4"),
|
|
246
247
|
("scipy", None),
|
|
247
248
|
("synr", None),
|
|
248
|
-
("tensorflow", "
|
|
249
|
+
("tensorflow", "~=2.13.0"),
|
|
249
250
|
("tflite", ">=2.4.0"),
|
|
250
251
|
("tornado", None),
|
|
251
252
|
("typing_extensions", None),
|
|
@@ -61,6 +61,6 @@ def clone_ara(context: MlonMcuContext, params=None, rebuild=False, verbose=False
|
|
|
61
61
|
if rebuild or not utils.is_populated(araSrcDir):
|
|
62
62
|
araRepo = context.environment.repos["ara"]
|
|
63
63
|
utils.clone_wrapper(araRepo, araSrcDir, refresh=rebuild)
|
|
64
|
-
utils.
|
|
65
|
-
utils.
|
|
64
|
+
utils.execute("make", "apply-patches", cwd=araSrcDir / "hardware")
|
|
65
|
+
utils.execute("make", "bender", cwd=araSrcDir / "hardware")
|
|
66
66
|
context.cache["ara.src_dir", flags] = araSrcDir
|
|
@@ -58,7 +58,7 @@ def install_corstone300(
|
|
|
58
58
|
fvpArchive = fvpFileName + ".tgz"
|
|
59
59
|
utils.download_and_extract(fvpUrl, fvpArchive, fvpInstallDir, progress=verbose)
|
|
60
60
|
fvpScript = fvpInstallDir / "FVP_Corstone_SSE-300.sh"
|
|
61
|
-
utils.
|
|
61
|
+
utils.execute(
|
|
62
62
|
fvpScript,
|
|
63
63
|
"--i-agree-to-the-contained-eula",
|
|
64
64
|
"--no-interactive",
|
|
@@ -80,7 +80,7 @@ def install_pulp_gcc(
|
|
|
80
80
|
pulpGccArgs.append("--with-arch=rv32imc")
|
|
81
81
|
pulpGccArgs.append("--with-cmodel=medlow")
|
|
82
82
|
pulpGccArgs.append("--enable-multilib")
|
|
83
|
-
utils.
|
|
83
|
+
utils.execute(
|
|
84
84
|
str(pulpGccSrcDir / "configure"),
|
|
85
85
|
*pulpGccArgs,
|
|
86
86
|
cwd=pulpGccBuildDir,
|
|
@@ -36,7 +36,7 @@ Tasks = get_task_factory()
|
|
|
36
36
|
|
|
37
37
|
def check_multilibs(riscvInstallDir, gccName, live=False, vext=False, pext=False):
|
|
38
38
|
gccExe = Path(riscvInstallDir) / "bin" / f"{gccName}-gcc"
|
|
39
|
-
out = utils.
|
|
39
|
+
out = utils.execute(gccExe, "--print-multi-lib", live=live)
|
|
40
40
|
multilibs = []
|
|
41
41
|
if vext and pext:
|
|
42
42
|
default_multilib = "rv32gcpv/ilp32d" if "32" in gccName else "rv64gcpv/lp64d" # TODO: improve this
|
|
@@ -175,6 +175,14 @@ def install_riscv_gcc(
|
|
|
175
175
|
# rebuild should only be triggered if the version/url changes but we can not detect that at the moment
|
|
176
176
|
if not utils.is_populated(riscvInstallDir):
|
|
177
177
|
utils.download_and_extract(riscvUrl, riscvArchive, riscvInstallDir, progress=verbose)
|
|
178
|
+
# workaround for gnu subdir ins tc downloads
|
|
179
|
+
gnu_dir = riscvInstallDir / "gnu"
|
|
180
|
+
if gnu_dir.is_dir():
|
|
181
|
+
import shutil
|
|
182
|
+
|
|
183
|
+
shutil.move(riscvInstallDir, riscvInstallDir.parent / f"{riscvInstallDir.name}.old")
|
|
184
|
+
shutil.move(riscvInstallDir.parent / f"{riscvInstallDir.name}.old" / "gnu", riscvInstallDir)
|
|
185
|
+
|
|
178
186
|
multilib = user_vars.get("riscv_gcc.multilib", None)
|
|
179
187
|
default_multilib = user_vars.get("riscv_gcc.default_multilib", None)
|
|
180
188
|
multilibs = user_vars.get("riscv_gcc.multilibs", None)
|
|
@@ -182,7 +190,7 @@ def install_riscv_gcc(
|
|
|
182
190
|
if "riscv_gcc.name" in user_vars:
|
|
183
191
|
gccName = user_vars["riscv_gcc.name"]
|
|
184
192
|
else:
|
|
185
|
-
gccNames = ["riscv64-unknown-elf", "riscv32-unknown-elf"]
|
|
193
|
+
gccNames = ["riscv64-unknown-elf", "riscv32-unknown-elf", "riscv64-unknown-linux-musl"]
|
|
186
194
|
gccName = None
|
|
187
195
|
for name in gccNames:
|
|
188
196
|
if (Path(riscvInstallDir) / name).is_dir():
|
|
@@ -133,7 +133,7 @@ def build_spike_pk(
|
|
|
133
133
|
spikepkArgs.append("--host=" + gccName)
|
|
134
134
|
env = os.environ.copy()
|
|
135
135
|
env["PATH"] = str(Path(riscv_gcc) / "bin") + ":" + env["PATH"]
|
|
136
|
-
utils.
|
|
136
|
+
utils.execute(
|
|
137
137
|
str(spikepkSrcDir / "configure"),
|
|
138
138
|
*spikepkArgs,
|
|
139
139
|
cwd=spikepkBuildDir,
|
|
@@ -199,7 +199,7 @@ def build_spike(
|
|
|
199
199
|
# spikeArgs.append("--prefix=" + str(context.cache["riscv_gcc.install_dir"]))
|
|
200
200
|
spikeArgs.append("--prefix=" + str(spikeInstallDir))
|
|
201
201
|
spikeArgs.append("--enable-misaligned")
|
|
202
|
-
utils.
|
|
202
|
+
utils.execute(
|
|
203
203
|
str(Path(spikeSrcDir) / "configure"),
|
|
204
204
|
*spikeArgs,
|
|
205
205
|
cwd=spikeBuildDir,
|
|
@@ -133,5 +133,5 @@ def install_tflite_pack(
|
|
|
133
133
|
installDir = context.environment.paths["deps"].path / "install" / name
|
|
134
134
|
if rebuild or not utils.is_populated(installDir):
|
|
135
135
|
installScript = srcDir / "install.sh"
|
|
136
|
-
utils.
|
|
136
|
+
utils.execute(installScript, installDir, live=verbose)
|
|
137
137
|
context.cache["tflite_pack.exe"] = installDir / "run.sh"
|
|
@@ -93,14 +93,14 @@ def build_verilator(
|
|
|
93
93
|
if rebuild or not utils.is_populated(verilatorBuildDir):
|
|
94
94
|
env = os.environ.copy()
|
|
95
95
|
env["VERILATOR_ROOT"] = ""
|
|
96
|
-
utils.
|
|
96
|
+
utils.execute(
|
|
97
97
|
"autoconf",
|
|
98
98
|
env=env,
|
|
99
99
|
cwd=verilatorSrcDir,
|
|
100
100
|
live=verbose,
|
|
101
101
|
)
|
|
102
102
|
env = os.environ.copy()
|
|
103
|
-
utils.
|
|
103
|
+
utils.execute(
|
|
104
104
|
str(verilatorSrcDir / "configure"),
|
|
105
105
|
f"--prefix={verilatorInstallDir}",
|
|
106
106
|
env=env,
|
|
@@ -136,7 +136,7 @@ def install_verilator(
|
|
|
136
136
|
else:
|
|
137
137
|
if rebuild or not utils.is_populated(verilatorInstallDir):
|
|
138
138
|
env = os.environ.copy()
|
|
139
|
-
utils.
|
|
139
|
+
utils.execute(
|
|
140
140
|
"make",
|
|
141
141
|
"install",
|
|
142
142
|
env=env,
|