mlonmcu 0.4.dev0__tar.gz → 0.4.1__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.dev0 → mlonmcu-0.4.1}/PKG-INFO +49 -9
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/README.md +47 -7
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/artifact.py +3 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/common.py +10 -6
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/main.py +1 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/context/context.py +9 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/init.py +10 -6
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/features.py +217 -9
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/tflmc.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/tflmi.py +16 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/backend.py +22 -12
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/model_info.py +15 -5
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmc_utils.py +4 -4
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmcg.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/wrapper.py +5 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/frontend.py +85 -20
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/lookup.py +4 -5
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/model.py +15 -2
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/espidf/espidf.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_base_platform.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/mlif/mlif.py +47 -12
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_base_platform.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/zephyr/zephyr.py +1 -3
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/postprocess/__init__.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/postprocess/postprocesses.py +246 -8
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/run.py +29 -10
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/session.py +18 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/gen_requirements.py +2 -2
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/ara.py +5 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/corstone300.py +5 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/espidf.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/etiss.py +36 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/llvm.py +2 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/riscv_gcc.py +5 -7
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/spike.py +6 -5
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/srecord.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tf.py +9 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tvm.py +15 -4
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/verilator.py +1 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/vicuna.py +0 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/zephyr.py +4 -7
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/utils.py +159 -40
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/_target.py +2 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/arm/corstone300.py +2 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/bench.py +17 -4
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/common.py +10 -71
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/elf.py +5 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/host_x86.py +3 -2
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/__init__.py +2 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/ara.py +5 -3
- mlonmcu-0.4.1/mlonmcu/target/riscv/ara_rtl.py +297 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/corev_ovpsim.py +3 -2
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/cv32e40p.py +3 -2
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/etiss.py +53 -9
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/gvsoc_pulp.py +2 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/ovpsim.py +15 -69
- mlonmcu-0.4.1/mlonmcu/target/riscv/riscv_bext_target.py +102 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv_qemu.py +2 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv_vext_target.py +14 -4
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/spike.py +13 -7
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/util.py +30 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/vicuna.py +75 -37
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/target.py +17 -7
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/version.py +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/PKG-INFO +49 -9
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/SOURCES.txt +265 -3
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/requires.txt +6 -6
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/backend.py +62 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/codegen.py +28 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw.cc +88 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw1.cc +67 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw2.cc +93 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/passes.py +206 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/patterns.py +65 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/strategies.py +34 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/backend.py +50 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/codegen.py +28 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw.cc +97 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw1.cc +50 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/passes.py +153 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/patterns.py +32 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/strategies.py +33 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/q_vanilla.py +32 -0
- mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/vanilla.py +31 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/ara.yml.j2 +22 -73
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/corev.yml.j2 +16 -12
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/default.yml.j2 +7 -8
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/dev.yml.j2 +14 -17
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/minimal.yml.j2 +1 -3
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/tumeda.yml.j2 +3 -3
- mlonmcu-0.4.1/resources/templates/uma.yml.j2 +129 -0
- mlonmcu-0.4.1/resources/templates/vicuna.yml.j2 +249 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/setup.cfg +1 -1
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/toolchains/test_riscv_gcc.py +1 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/toolchains/test_riscv_llvm.py +1 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/HISTORY.md +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/LICENSE +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/MANIFEST.in +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/NOTICE +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/Makefile +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/authors.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components/auto_vectorize.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components/cmsisnnbyoc.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components/muriscvnnbyoc.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/conf.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/contributing.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/design.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/docs.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/environments.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/history.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/index.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/installation.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/logging.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/make.bat +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.cli.helper.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.cli.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.context.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.environment.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.feature.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tflm.backend.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tflm.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tvm.backend.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tvm.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.models.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.platform.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.session.postprocess.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.session.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.setup.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.target.arm.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.target.riscv.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.target.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/modules.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/postprocess.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/readme.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/usage.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/build.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/cleanup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/compile.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/env.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/export.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/flow.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/helper/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/helper/filter.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/helper/parse.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/init.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/load.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/models.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/run.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/setup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/tune.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/config.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/context/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/context/read_write_filelock.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/config.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/environment.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/list.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/loader.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/templates.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/writer.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/feature.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/type.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/backend.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/framework.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/backend.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/framework.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/python_utils.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tuner.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmaot.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmaotplus.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmllvm.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmrt.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/framework.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/logging.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/mlonmcu.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/convert_data.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/group.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/metadata.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/options.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/utils.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/espidf/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/espidf/espidf_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/lookup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_arduino_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_backend.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_build_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_compile_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_corev_ovpsim_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_espidf_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_etiss_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_host_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_mlonmcu_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_spike_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_target_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_template_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_tune_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_zephyr_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/mlif/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/mlif/mlif_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_backend.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_build_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_rpc_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_target_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_tune_platform.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/zephyr/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/zephyr/zephyr_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/plugins.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/report.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/postprocess/postprocess.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/cache.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/setup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/task.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/arm_gcc.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/benchmarks.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/cmsisnn.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/common.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/corev.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/cv32e40p.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/dtc.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/layergen.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/mlif.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/muriscvnn.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/ovpsim.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/pulp.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tflite.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tflmc.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/utvmcg.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/arm/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/arm/util.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/metrics.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/etiss_pulpino.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv_pext_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/testing/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/testing/helpers.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/testing/riscv_toolchain.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/timeout.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/utils.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/dependency_links.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/entry_points.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/not-zip-safe +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/top_level.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/frameworks/tvm/crt_config/README.md +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/frameworks/tvm/crt_config/crt_config.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/frameworks/tvm/tuning_records/riscv_cpu_v0.01.log.best +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/patches/fix_esp32c3_march.patch +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/patches/pulp_freertos_support.patch +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/README.md +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_data.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/exit.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/ml_interface.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/printing.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/example_test.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/info.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc.orig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/COPYING +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/_kiss_fft_guts.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/main.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/bits.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_common.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/sdkconfig.defaults +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/README.md +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/default_data.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/include/exit.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/include/ml_interface.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/include/printing.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/ml_interface.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tflite-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tflite-lib/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tvm-lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tvm-lib/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/example_test.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/main/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/main/main.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/sdkconfig.defaults +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/README.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/AddAllSubdirs.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/ChooseTarget.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/LinkTFLite.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/LinkTVM.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/LookupClang.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tflmc.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tflmi.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmaot.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmaotplus.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmcg.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmllvm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmrt.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/extras.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_gcc.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_llvm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/cmsisnn.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/muriscvnn.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tflm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tflm_mlif.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tvm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tvm_mlif.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/drivers/fake_input.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/drivers/fake_input.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_data.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/dummy.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/exit.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/printing.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/quantize.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/corstone300.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/default.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/etiss_pulpino.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/generic_riscv.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/riscv_qemu.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/target.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/prj.conf +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/sample.yaml +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/src/main.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/Kconfig +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/README.rst +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/AddAllSubdirs.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/ChooseTarget.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/LinkTFLite.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/LinkTVM.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/LookupClang.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tflmc.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tflmi.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmaot.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmaotplus.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmcg.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmllvm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmrt.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/extras.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_gcc.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_llvm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/cmsisnn.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/muriscvnn.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tflm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tflm_mlif.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tvm.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tvm_mlif.cmake +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_data.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_model_support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_model_support/process_input.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_model_support/process_output.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/drivers/fake_input.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/drivers/fake_input.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/CMakeLists.txt +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/dummy.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/exit.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/printing.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/quantize.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/corstone300.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/default.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/etiss_pulpino.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/generic_riscv.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/riscv_qemu.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/target.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface.h +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface_tflm.cc +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface_tvm.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/prj.conf +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/sample.yaml +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/settings.json +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/src/main.c +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/README.md +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/run resnet tflmi on pulp.run.xml +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/step1_ init env.run.xml +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/step2_ setup.run.xml +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/step3_ run resnet on pulpxpulpissimo.run.xml +0 -0
- {mlonmcu-0.4.dev0/resources/templates → mlonmcu-0.4.1/resources/templates/old}/phi.yml.j2 +0 -0
- {mlonmcu-0.4.dev0/resources/templates → mlonmcu-0.4.1/resources/templates/old}/research.yml.j2 +0 -0
- {mlonmcu-0.4.dev0/resources/templates → mlonmcu-0.4.1/resources/templates/old}/tune.yml.j2 +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/pulp.yml.j2 +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/setup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/__init__.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/conftest.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/fixtures.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/cli/test_cli.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/cli/test_cli.py.wip +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/cli/test_cli2.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_backends.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_features.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_frontends.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_platforms.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_postprocesses.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_targets.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/test_mlonmcu.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/artifact/test_artifact.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/backends/tvm/test_wrapper.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/context/test_context.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/context/test_read_write_filelock.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/environment/test_environment.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/environment/test_environment_writer.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_convert_data.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_models_group.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_models_lookup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_models_utils.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/platform/test_platform_lookup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/plugins/test_plugins.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/setup/test_setup_utils.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/target/test_target_arm_utils.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/target/test_target_registry.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/target/test_target_riscv_utils.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_cli_filter.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_cli_parse.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_config.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_feature.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_flow.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_models.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_session.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_setup.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_target.py +0 -0
- {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mlonmcu
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
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
|
|
@@ -21,6 +21,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Requires-Python: >=3.7
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
|
+
Provides-Extra: all-prod
|
|
24
25
|
Provides-Extra: espidf
|
|
25
26
|
Provides-Extra: etiss
|
|
26
27
|
Provides-Extra: gvsoc_pulp
|
|
@@ -35,7 +36,6 @@ Provides-Extra: tvm-autotuning
|
|
|
35
36
|
Provides-Extra: visualize
|
|
36
37
|
Provides-Extra: visualize_tflite
|
|
37
38
|
Provides-Extra: zephyr
|
|
38
|
-
Provides-Extra: all-prod
|
|
39
39
|
License-File: LICENSE
|
|
40
40
|
License-File: NOTICE
|
|
41
41
|
|
|
@@ -43,14 +43,15 @@ License-File: NOTICE
|
|
|
43
43
|
|
|
44
44
|
[](https://pypi.org/project/mlonmcu)
|
|
45
45
|
[](https://mlonmcu.readthedocs.io/en/latest/?version=latest)
|
|
46
|
-

|
|
47
47
|
[](https://github.com/tum-ei-eda/mlonmcu/blob/main/LICENSE)
|
|
48
48
|
|
|
49
49
|
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/cicd.yml)
|
|
50
|
+
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/style.yml)
|
|
50
51
|
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/demo.yml)
|
|
51
|
-
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/container.yml)
|
|
52
52
|
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/bench.yml)
|
|
53
53
|
|
|
54
|
+
|
|
54
55
|
This project contains research code related to the deployment of inference or learning applications on tiny micro-controllers.
|
|
55
56
|
|
|
56
57
|
|
|
@@ -87,7 +88,7 @@ sudo apt install python3-pip python3-venv
|
|
|
87
88
|
sudo apt install libboost-all-dev graphviz doxygen libtinfo-dev zlib1g-dev texinfo unzip device-tree-compiler tree g++
|
|
88
89
|
|
|
89
90
|
# Optional (depending on configuration)
|
|
90
|
-
sudo apt install ninja-build flex
|
|
91
|
+
sudo apt install ninja-build flex lsb-release libelf-dev
|
|
91
92
|
```
|
|
92
93
|
|
|
93
94
|
Also make sure that your default Python is at least v3.7. If the `python` command is not available in your shell or points Python v2.7 check out `python-is-python3`.
|
|
@@ -174,6 +175,14 @@ with mlonmcu.context.MlonMcuContext() as context:
|
|
|
174
175
|
pass
|
|
175
176
|
```
|
|
176
177
|
|
|
178
|
+
## List of interesting MLonMCU forks
|
|
179
|
+
|
|
180
|
+
- MINRES TGC support: https://github.com/Minres/mlonmcu/tree/develop
|
|
181
|
+
|
|
182
|
+
## List of existing MLonMCU extensions/plugins
|
|
183
|
+
|
|
184
|
+
- ABC Example Plugin: coming soon!
|
|
185
|
+
- MINRES TGC Support: coming soon!
|
|
177
186
|
|
|
178
187
|
## Development
|
|
179
188
|
|
|
@@ -193,10 +202,6 @@ Documentation is mainly generated automatically from doctrings (triggered via `m
|
|
|
193
202
|
|
|
194
203
|
Regarding coding style, it is recommended to run `black` before every commit. The default line length should be given in the `setup.cfg` file.
|
|
195
204
|
|
|
196
|
-
## Credits
|
|
197
|
-
|
|
198
|
-
This is a research project proposed by the Chair of Design Automation of the Technical University of Munich.
|
|
199
|
-
|
|
200
205
|
### Developers
|
|
201
206
|
|
|
202
207
|
- Rafael Stahl (TUM) [@rafzi]
|
|
@@ -207,6 +212,33 @@ This is a research project proposed by the Chair of Design Automation of the Tec
|
|
|
207
212
|
|
|
208
213
|
- Came up with MLonMCU Python package
|
|
209
214
|
|
|
215
|
+
## Publications
|
|
216
|
+
|
|
217
|
+
- **MLonMCU: TinyML Benchmarking with Fast Retargeting** ([https://dl.acm.org/doi/10.1145/3637543.3652878](https://dl.acm.org/doi/abs/10.1145/3615338.3618128))
|
|
218
|
+
|
|
219
|
+
*CODAI '23: Proceedings of the 2023 Workshop on Compilers, Deployment, and Tooling for Edge AI*
|
|
220
|
+
|
|
221
|
+
BibTeX
|
|
222
|
+
|
|
223
|
+
```bibtex
|
|
224
|
+
@inproceedings{10.1145/3615338.3618128,
|
|
225
|
+
author = {van Kempen, Philipp and Stahl, Rafael and Mueller-Gritschneder, Daniel and Schlichtmann, Ulf},
|
|
226
|
+
title = {MLonMCU: TinyML Benchmarking with Fast Retargeting},
|
|
227
|
+
year = {2024},
|
|
228
|
+
isbn = {9798400703379},
|
|
229
|
+
publisher = {Association for Computing Machinery},
|
|
230
|
+
address = {New York, NY, USA},
|
|
231
|
+
url = {https://doi.org/10.1145/3615338.3618128},
|
|
232
|
+
doi = {10.1145/3615338.3618128},
|
|
233
|
+
abstract = {While there exist many ways to deploy machine learning models on microcontrollers, it is non-trivial to choose the optimal combination of frameworks and targets for a given application. Thus, automating the end-to-end benchmarking flow is of high relevance nowadays. A tool called MLonMCU is proposed in this paper and demonstrated by benchmarking the state-of-the-art TinyML frameworks TFLite for Microcontrollers and TVM effortlessly with a large number of configurations in a low amount of time.},
|
|
234
|
+
booktitle = {Proceedings of the 2023 Workshop on Compilers, Deployment, and Tooling for Edge AI},
|
|
235
|
+
pages = {32–36},
|
|
236
|
+
numpages = {5},
|
|
237
|
+
keywords = {TinyML, neural networks, microcontrollers},
|
|
238
|
+
location = {Hamburg, Germany},
|
|
239
|
+
series = {CODAI '23}
|
|
240
|
+
}
|
|
241
|
+
```
|
|
210
242
|
|
|
211
243
|
### Other
|
|
212
244
|
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template. However most of the templates was manually changed to be in Markdown instead of reStructuredText.
|
|
@@ -215,6 +247,14 @@ This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypack
|
|
|
215
247
|
- **`audreyr/cookiecutter-pypackage`:** https://github.com/audreyr/cookiecutter-pypackage
|
|
216
248
|
|
|
217
249
|
|
|
250
|
+
## Acknowledgment
|
|
251
|
+
|
|
252
|
+
<img src="./BMBF_gefoerdert_2017_en.jpg" alt="drawing" height="75" align="left" >
|
|
253
|
+
|
|
254
|
+
This research is partially funded by the German Federal Ministry of Education and Research (BMBF) within
|
|
255
|
+
the projects [Scale4Edge](https://www.edacentrum.de/scale4edge/) (grant number 16ME0127) and [MANNHEIM-FlexKI](https://www.edacentrum.de/projekte/MANNHEIM-FlexKI) (grant number 01IS22086L).
|
|
256
|
+
|
|
257
|
+
|
|
218
258
|
# History
|
|
219
259
|
|
|
220
260
|
## 0.1.0 (2021-11-12)
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://pypi.org/project/mlonmcu)
|
|
4
4
|
[](https://mlonmcu.readthedocs.io/en/latest/?version=latest)
|
|
5
|
-

|
|
6
6
|
[](https://github.com/tum-ei-eda/mlonmcu/blob/main/LICENSE)
|
|
7
7
|
|
|
8
8
|
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/cicd.yml)
|
|
9
|
+
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/style.yml)
|
|
9
10
|
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/demo.yml)
|
|
10
|
-
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/container.yml)
|
|
11
11
|
[](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/bench.yml)
|
|
12
12
|
|
|
13
|
+
|
|
13
14
|
This project contains research code related to the deployment of inference or learning applications on tiny micro-controllers.
|
|
14
15
|
|
|
15
16
|
|
|
@@ -46,7 +47,7 @@ sudo apt install python3-pip python3-venv
|
|
|
46
47
|
sudo apt install libboost-all-dev graphviz doxygen libtinfo-dev zlib1g-dev texinfo unzip device-tree-compiler tree g++
|
|
47
48
|
|
|
48
49
|
# Optional (depending on configuration)
|
|
49
|
-
sudo apt install ninja-build flex
|
|
50
|
+
sudo apt install ninja-build flex lsb-release libelf-dev
|
|
50
51
|
```
|
|
51
52
|
|
|
52
53
|
Also make sure that your default Python is at least v3.7. If the `python` command is not available in your shell or points Python v2.7 check out `python-is-python3`.
|
|
@@ -133,6 +134,14 @@ with mlonmcu.context.MlonMcuContext() as context:
|
|
|
133
134
|
pass
|
|
134
135
|
```
|
|
135
136
|
|
|
137
|
+
## List of interesting MLonMCU forks
|
|
138
|
+
|
|
139
|
+
- MINRES TGC support: https://github.com/Minres/mlonmcu/tree/develop
|
|
140
|
+
|
|
141
|
+
## List of existing MLonMCU extensions/plugins
|
|
142
|
+
|
|
143
|
+
- ABC Example Plugin: coming soon!
|
|
144
|
+
- MINRES TGC Support: coming soon!
|
|
136
145
|
|
|
137
146
|
## Development
|
|
138
147
|
|
|
@@ -152,10 +161,6 @@ Documentation is mainly generated automatically from doctrings (triggered via `m
|
|
|
152
161
|
|
|
153
162
|
Regarding coding style, it is recommended to run `black` before every commit. The default line length should be given in the `setup.cfg` file.
|
|
154
163
|
|
|
155
|
-
## Credits
|
|
156
|
-
|
|
157
|
-
This is a research project proposed by the Chair of Design Automation of the Technical University of Munich.
|
|
158
|
-
|
|
159
164
|
### Developers
|
|
160
165
|
|
|
161
166
|
- Rafael Stahl (TUM) [@rafzi]
|
|
@@ -166,9 +171,44 @@ This is a research project proposed by the Chair of Design Automation of the Tec
|
|
|
166
171
|
|
|
167
172
|
- Came up with MLonMCU Python package
|
|
168
173
|
|
|
174
|
+
## Publications
|
|
175
|
+
|
|
176
|
+
- **MLonMCU: TinyML Benchmarking with Fast Retargeting** ([https://dl.acm.org/doi/10.1145/3637543.3652878](https://dl.acm.org/doi/abs/10.1145/3615338.3618128))
|
|
177
|
+
|
|
178
|
+
*CODAI '23: Proceedings of the 2023 Workshop on Compilers, Deployment, and Tooling for Edge AI*
|
|
179
|
+
|
|
180
|
+
BibTeX
|
|
181
|
+
|
|
182
|
+
```bibtex
|
|
183
|
+
@inproceedings{10.1145/3615338.3618128,
|
|
184
|
+
author = {van Kempen, Philipp and Stahl, Rafael and Mueller-Gritschneder, Daniel and Schlichtmann, Ulf},
|
|
185
|
+
title = {MLonMCU: TinyML Benchmarking with Fast Retargeting},
|
|
186
|
+
year = {2024},
|
|
187
|
+
isbn = {9798400703379},
|
|
188
|
+
publisher = {Association for Computing Machinery},
|
|
189
|
+
address = {New York, NY, USA},
|
|
190
|
+
url = {https://doi.org/10.1145/3615338.3618128},
|
|
191
|
+
doi = {10.1145/3615338.3618128},
|
|
192
|
+
abstract = {While there exist many ways to deploy machine learning models on microcontrollers, it is non-trivial to choose the optimal combination of frameworks and targets for a given application. Thus, automating the end-to-end benchmarking flow is of high relevance nowadays. A tool called MLonMCU is proposed in this paper and demonstrated by benchmarking the state-of-the-art TinyML frameworks TFLite for Microcontrollers and TVM effortlessly with a large number of configurations in a low amount of time.},
|
|
193
|
+
booktitle = {Proceedings of the 2023 Workshop on Compilers, Deployment, and Tooling for Edge AI},
|
|
194
|
+
pages = {32–36},
|
|
195
|
+
numpages = {5},
|
|
196
|
+
keywords = {TinyML, neural networks, microcontrollers},
|
|
197
|
+
location = {Hamburg, Germany},
|
|
198
|
+
series = {CODAI '23}
|
|
199
|
+
}
|
|
200
|
+
```
|
|
169
201
|
|
|
170
202
|
### Other
|
|
171
203
|
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template. However most of the templates was manually changed to be in Markdown instead of reStructuredText.
|
|
172
204
|
|
|
173
205
|
- **Cookiecutter:** https://github.com/audreyr/cookiecutter
|
|
174
206
|
- **`audreyr/cookiecutter-pypackage`:** https://github.com/audreyr/cookiecutter-pypackage
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
## Acknowledgment
|
|
210
|
+
|
|
211
|
+
<img src="./BMBF_gefoerdert_2017_en.jpg" alt="drawing" height="75" align="left" >
|
|
212
|
+
|
|
213
|
+
This research is partially funded by the German Federal Ministry of Education and Research (BMBF) within
|
|
214
|
+
the projects [Scale4Edge](https://www.edacentrum.de/scale4edge/) (grant number 16ME0127) and [MANNHEIM-FlexKI](https://www.edacentrum.de/projekte/MANNHEIM-FlexKI) (grant number 01IS22086L).
|
|
@@ -40,7 +40,7 @@ class ArtifactFormat(Enum): # TODO: ArtifactType, ArtifactKind?
|
|
|
40
40
|
DATA = 6
|
|
41
41
|
NUMPY = 7
|
|
42
42
|
PARAMS = 8
|
|
43
|
-
JSON = 9 # ?
|
|
43
|
+
JSON = 9 # TODO: how about YAML or more general: DICT?
|
|
44
44
|
PATH = 10 # NOT A DIRECTORY?
|
|
45
45
|
RAW = 11
|
|
46
46
|
BIN = 11
|
|
@@ -50,6 +50,8 @@ class ArtifactFormat(Enum): # TODO: ArtifactType, ArtifactKind?
|
|
|
50
50
|
|
|
51
51
|
def lookup_artifacts(artifacts, name=None, fmt=None, flags=None, first_only=False):
|
|
52
52
|
"""Utility to get a matching artifact for a given set of properties."""
|
|
53
|
+
if isinstance(name, Path):
|
|
54
|
+
name = str(name)
|
|
53
55
|
matches = []
|
|
54
56
|
# Warning: if neither name, fmt nor flags is provided, the first artifact (first_only=True)
|
|
55
57
|
# or all (first_only=False) are returned
|
|
@@ -119,9 +119,11 @@ def add_flow_options(parser):
|
|
|
119
119
|
metavar="FEATURES",
|
|
120
120
|
nargs="+",
|
|
121
121
|
action="append",
|
|
122
|
-
help=
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
help=(
|
|
123
|
+
f"Generator statement for features. (Also available: --feature-gen2 ... --feature-gen{number})"
|
|
124
|
+
if i == 0
|
|
125
|
+
else argparse.SUPPRESS
|
|
126
|
+
),
|
|
125
127
|
)
|
|
126
128
|
flow_parser.add_argument(
|
|
127
129
|
"--config-gen" + suffix,
|
|
@@ -129,9 +131,11 @@ def add_flow_options(parser):
|
|
|
129
131
|
metavar="KEY=VALUE",
|
|
130
132
|
nargs="+",
|
|
131
133
|
action="append",
|
|
132
|
-
help=
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
help=(
|
|
135
|
+
f"Generator statement for configs. (Also available: --config-gen2 ... --config-gen{number})"
|
|
136
|
+
if i == 0
|
|
137
|
+
else argparse.SUPPRESS
|
|
138
|
+
),
|
|
135
139
|
)
|
|
136
140
|
|
|
137
141
|
add_gen_args(flow_parser, NUM_GEN_ARGS)
|
|
@@ -226,7 +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
|
-
return env_file
|
|
229
|
+
return Path(env_file)
|
|
230
230
|
|
|
231
231
|
|
|
232
232
|
def setup_logging(environment):
|
|
@@ -273,6 +273,14 @@ class MlonMcuContext:
|
|
|
273
273
|
env_file = resolve_environment_file(name=name, path=path)
|
|
274
274
|
assert env_file is not None, "Unable to find a MLonMCU environment"
|
|
275
275
|
self.environment = UserEnvironment.from_file(env_file) # TODO: move to __enter__
|
|
276
|
+
actual_home = env_file.parent.resolve()
|
|
277
|
+
specified_home = Path(self.environment.home).resolve()
|
|
278
|
+
if specified_home != actual_home:
|
|
279
|
+
logger.warning(
|
|
280
|
+
"The HOME directory %s specified in environment.yml does not match workspace directory %s!",
|
|
281
|
+
specified_home,
|
|
282
|
+
actual_home,
|
|
283
|
+
)
|
|
276
284
|
setup_logging(self.environment)
|
|
277
285
|
assert deps_lock in ["read", "write"]
|
|
278
286
|
if deps_lock == "read":
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
# limitations under the License.
|
|
18
18
|
#
|
|
19
19
|
import sys
|
|
20
|
-
import git
|
|
21
20
|
from pathlib import Path
|
|
22
21
|
import venv
|
|
23
22
|
import os
|
|
@@ -32,6 +31,7 @@ from .config import (
|
|
|
32
31
|
)
|
|
33
32
|
from .templates import write_environment_yaml_from_template
|
|
34
33
|
from mlonmcu.utils import in_virtualenv, ask_user
|
|
34
|
+
from mlonmcu.setup import utils
|
|
35
35
|
from mlonmcu.logging import get_logger
|
|
36
36
|
|
|
37
37
|
logger = get_logger()
|
|
@@ -46,10 +46,10 @@ def create_environment_directories(path, directories):
|
|
|
46
46
|
(path / directory).mkdir(parents=True, exist_ok=True)
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
def clone_models_repo(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
def clone_models_repo(dest, url=None, ref=None, refresh=False, recursive=False):
|
|
50
|
+
if url is None:
|
|
51
|
+
url = "https://github.com/tum-ei-eda/mlonmcu-models.git"
|
|
52
|
+
utils.clone(url, dest, ref, refresh=refresh, recursive=False)
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
def create_venv_directory(base, hidden=True):
|
|
@@ -157,7 +157,11 @@ def initialize_environment(
|
|
|
157
157
|
interactive=interactive,
|
|
158
158
|
)
|
|
159
159
|
):
|
|
160
|
-
|
|
160
|
+
custom_url = None
|
|
161
|
+
custom_ref = None
|
|
162
|
+
custom_url = config.get("models.clone_url", None)
|
|
163
|
+
custom_ref = config.get("models.clone_ref", None)
|
|
164
|
+
clone_models_repo(models_subdir, url=custom_url, ref=custom_ref)
|
|
161
165
|
else:
|
|
162
166
|
subdirs.append("models")
|
|
163
167
|
|
|
@@ -92,7 +92,8 @@ def get_matching_features(features, feature_type):
|
|
|
92
92
|
return [feature for feature in features if feature_type in feature.types()]
|
|
93
93
|
|
|
94
94
|
|
|
95
|
-
@register_feature("debug_arena", depends=["debug"])
|
|
95
|
+
# @register_feature("debug_arena", depends=["debug"])
|
|
96
|
+
@register_feature("debug_arena")
|
|
96
97
|
class DebugArena(BackendFeature):
|
|
97
98
|
"""Enable verbose printing of arena usage for debugging."""
|
|
98
99
|
|
|
@@ -432,8 +433,9 @@ class Vext(SetupFeature, TargetFeature, PlatformFeature):
|
|
|
432
433
|
|
|
433
434
|
DEFAULTS = {
|
|
434
435
|
**FeatureBase.DEFAULTS,
|
|
435
|
-
|
|
436
|
-
"
|
|
436
|
+
# None -> use target setting
|
|
437
|
+
"vlen": None, # 64 does not work with every toolchain
|
|
438
|
+
"elen": None, # some toolchains may generate auto-vectorized programs with elen 64
|
|
437
439
|
# use target-side settings by default
|
|
438
440
|
"spec": None,
|
|
439
441
|
"embedded": None,
|
|
@@ -444,11 +446,13 @@ class Vext(SetupFeature, TargetFeature, PlatformFeature):
|
|
|
444
446
|
|
|
445
447
|
@property
|
|
446
448
|
def vlen(self):
|
|
447
|
-
|
|
449
|
+
value = self.config["vlen"]
|
|
450
|
+
return None if value is None else int(value)
|
|
448
451
|
|
|
449
452
|
@property
|
|
450
453
|
def elen(self):
|
|
451
|
-
|
|
454
|
+
value = self.config["elen"]
|
|
455
|
+
return None if value is None else int(value)
|
|
452
456
|
|
|
453
457
|
@property
|
|
454
458
|
def spec(self):
|
|
@@ -491,8 +495,8 @@ class Vext(SetupFeature, TargetFeature, PlatformFeature):
|
|
|
491
495
|
return {
|
|
492
496
|
"muriscvnn.lib": ["vext"],
|
|
493
497
|
"tflmc.exe": ["vext"],
|
|
494
|
-
"riscv_gcc.install_dir": ["vext"],
|
|
495
|
-
"riscv_gcc.name": ["vext"],
|
|
498
|
+
# "riscv_gcc.install_dir": ["vext"],
|
|
499
|
+
# "riscv_gcc.name": ["vext"],
|
|
496
500
|
}
|
|
497
501
|
|
|
498
502
|
|
|
@@ -535,6 +539,73 @@ class Pext(SetupFeature, TargetFeature, PlatformFeature):
|
|
|
535
539
|
}
|
|
536
540
|
|
|
537
541
|
|
|
542
|
+
@register_feature("bext")
|
|
543
|
+
class Bext(SetupFeature, TargetFeature, PlatformFeature):
|
|
544
|
+
"""Enable bitmanipulation extension for supported RISC-V targets"""
|
|
545
|
+
|
|
546
|
+
DEFAULTS = {
|
|
547
|
+
**FeatureBase.DEFAULTS,
|
|
548
|
+
# use target-side settings by default
|
|
549
|
+
"spec": None,
|
|
550
|
+
"zba": True,
|
|
551
|
+
"zbb": True,
|
|
552
|
+
"zbc": True,
|
|
553
|
+
"zbs": True,
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
def __init__(self, features=None, config=None):
|
|
557
|
+
super().__init__("bext", features=features, config=config)
|
|
558
|
+
|
|
559
|
+
@property
|
|
560
|
+
def spec(self):
|
|
561
|
+
return self.config["spec"]
|
|
562
|
+
|
|
563
|
+
@property
|
|
564
|
+
def zba(self):
|
|
565
|
+
value = self.config["zba"]
|
|
566
|
+
return str2bool(value) if not isinstance(value, (bool, int)) else value
|
|
567
|
+
|
|
568
|
+
@property
|
|
569
|
+
def zbb(self):
|
|
570
|
+
value = self.config["zbb"]
|
|
571
|
+
return str2bool(value) if not isinstance(value, (bool, int)) else value
|
|
572
|
+
|
|
573
|
+
@property
|
|
574
|
+
def zbc(self):
|
|
575
|
+
value = self.config["zbc"]
|
|
576
|
+
return str2bool(value) if not isinstance(value, (bool, int)) else value
|
|
577
|
+
|
|
578
|
+
@property
|
|
579
|
+
def zbs(self):
|
|
580
|
+
value = self.config["zbs"]
|
|
581
|
+
return str2bool(value) if not isinstance(value, (bool, int)) else value
|
|
582
|
+
|
|
583
|
+
def get_target_config(self, target):
|
|
584
|
+
return filter_none(
|
|
585
|
+
{
|
|
586
|
+
f"{target}.enable_bext": True, # Handle via arch characters in the future
|
|
587
|
+
f"{target}.bext_spec": self.spec,
|
|
588
|
+
f"{target}.bext_zba": self.zba,
|
|
589
|
+
f"{target}.bext_zbb": self.zbb,
|
|
590
|
+
f"{target}.bext_zbc": self.zbc,
|
|
591
|
+
f"{target}.bext_zbs": self.zbs,
|
|
592
|
+
}
|
|
593
|
+
)
|
|
594
|
+
|
|
595
|
+
def get_platform_defs(self, platform):
|
|
596
|
+
assert platform in ["mlif"], f"Unsupported feature '{self.name}' for platform '{platform}'"
|
|
597
|
+
return {"RISCV_PEXT": self.enabled}
|
|
598
|
+
|
|
599
|
+
def get_required_cache_flags(self):
|
|
600
|
+
# These will be merged automatically with existing ones
|
|
601
|
+
return {
|
|
602
|
+
# "riscv_gcc.install_dir": ["bext"],
|
|
603
|
+
# "riscv_gcc.name": ["bext"],
|
|
604
|
+
"riscv_gcc.install_dir": [],
|
|
605
|
+
"riscv_gcc.name": [],
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
|
|
538
609
|
@register_feature("debug")
|
|
539
610
|
class Debug(SetupFeature, PlatformFeature):
|
|
540
611
|
"""Enable debugging ability of target software."""
|
|
@@ -715,6 +786,40 @@ class Usmp(BackendFeature):
|
|
|
715
786
|
# -> enable this via backend
|
|
716
787
|
|
|
717
788
|
|
|
789
|
+
@register_feature("fuse_ops")
|
|
790
|
+
class FuseOps(BackendFeature):
|
|
791
|
+
"""TODO"""
|
|
792
|
+
|
|
793
|
+
DEFAULTS = {
|
|
794
|
+
**FeatureBase.DEFAULTS,
|
|
795
|
+
"max_depth": 100,
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
def __init__(self, features=None, config=None):
|
|
799
|
+
super().__init__("fuse_ops", features=features, config=config)
|
|
800
|
+
|
|
801
|
+
@property
|
|
802
|
+
def max_depth(self):
|
|
803
|
+
return int(self.config["max_depth"])
|
|
804
|
+
|
|
805
|
+
def add_backend_config(self, backend, config):
|
|
806
|
+
# assert backend in ["tvmaot"], f"Unsupported feature '{self.name}' for backend '{backend}'"
|
|
807
|
+
# TODO: tvm only
|
|
808
|
+
if f"{backend}.extra_pass_config" in config:
|
|
809
|
+
tmp = config[f"{backend}.extra_pass_config"]
|
|
810
|
+
elif "extra_pass_config" in config:
|
|
811
|
+
tmp = config["extra_pass_config"]
|
|
812
|
+
else:
|
|
813
|
+
tmp = {}
|
|
814
|
+
if isinstance(tmp, str):
|
|
815
|
+
import ast
|
|
816
|
+
|
|
817
|
+
tmp = ast.literal_eval(tmp)
|
|
818
|
+
assert isinstance(tmp, dict)
|
|
819
|
+
tmp["relay.FuseOps.max_depth"] = self.max_depth
|
|
820
|
+
config.update({f"{backend}.extra_pass_config": tmp})
|
|
821
|
+
|
|
822
|
+
|
|
718
823
|
@register_feature("moiopt")
|
|
719
824
|
class MOIOPT(BackendFeature):
|
|
720
825
|
"""Memory-Optimizing, Inter-Operator Tiling - currently only supported with custom TVM"""
|
|
@@ -1077,6 +1182,44 @@ class DisableLegalize(BackendFeature, SetupFeature):
|
|
|
1077
1182
|
return ret
|
|
1078
1183
|
|
|
1079
1184
|
|
|
1185
|
+
@register_feature("uma_backends")
|
|
1186
|
+
class UMABackends(BackendFeature):
|
|
1187
|
+
"""Add directories that contain UMA backends."""
|
|
1188
|
+
|
|
1189
|
+
REQUIRED = set()
|
|
1190
|
+
|
|
1191
|
+
DEFAULTS = {
|
|
1192
|
+
**FeatureBase.DEFAULTS,
|
|
1193
|
+
"uma_dir": "",
|
|
1194
|
+
"uma_target": "",
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
def __init__(self, features=None, config=None):
|
|
1198
|
+
super().__init__("uma_backends", features=features, config=config)
|
|
1199
|
+
|
|
1200
|
+
@property
|
|
1201
|
+
def uma_dir(self):
|
|
1202
|
+
return self.config["uma_dir"]
|
|
1203
|
+
|
|
1204
|
+
@property
|
|
1205
|
+
def uma_target(self):
|
|
1206
|
+
return self.config["uma_target"]
|
|
1207
|
+
|
|
1208
|
+
def add_backend_config(self, backend, config):
|
|
1209
|
+
assert backend in SUPPORTED_TVM_BACKENDS, f"Unsupported feature '{self.name}' for backend '{backend}'"
|
|
1210
|
+
tvmcArgs = ["--experimental-tvmc-extension", self.uma_dir]
|
|
1211
|
+
if f"{backend}.tvmc_extra_args" in config:
|
|
1212
|
+
config[f"{backend}.tvmc_extra_args"].extend(tvmcArgs)
|
|
1213
|
+
else:
|
|
1214
|
+
config[f"{backend}.tvmc_extra_args"] = tvmcArgs
|
|
1215
|
+
extras = config.get(f"{backend}.extra_target", [])
|
|
1216
|
+
if self.uma_target not in extras:
|
|
1217
|
+
if isinstance(extras, str):
|
|
1218
|
+
extras = [extras]
|
|
1219
|
+
extras.append(self.uma_target)
|
|
1220
|
+
config[f"{backend}.extra_target"] = extras
|
|
1221
|
+
|
|
1222
|
+
|
|
1080
1223
|
@register_feature("demo")
|
|
1081
1224
|
class Demo(PlatformFeature):
|
|
1082
1225
|
"""Run demo application instead of benchmarking code."""
|
|
@@ -1297,8 +1440,8 @@ class LogInstructions(TargetFeature):
|
|
|
1297
1440
|
instrs.append(line)
|
|
1298
1441
|
else:
|
|
1299
1442
|
new_lines.append(line)
|
|
1300
|
-
content =
|
|
1301
|
-
|
|
1443
|
+
content = "\n".join(instrs)
|
|
1444
|
+
stdout = "\n".join(new_lines)
|
|
1302
1445
|
else:
|
|
1303
1446
|
assert target in ["spike", "ovpsim", "corev_ovpsim"]
|
|
1304
1447
|
log_file = Path(directory) / "instrs.txt"
|
|
@@ -1916,6 +2059,34 @@ class SplitLayers(FrontendFeature):
|
|
|
1916
2059
|
)
|
|
1917
2060
|
|
|
1918
2061
|
|
|
2062
|
+
@register_feature("tflite_analyze")
|
|
2063
|
+
class TfLiteAnalyze(FrontendFeature):
|
|
2064
|
+
"""Get the estimated ROM, RAM and MACs from a TFLite model."""
|
|
2065
|
+
|
|
2066
|
+
REQUIRED = {"tflite_analyze.exe"}
|
|
2067
|
+
|
|
2068
|
+
def __init__(self, features=None, config=None):
|
|
2069
|
+
super().__init__("tflite_analyze", features=features, config=config)
|
|
2070
|
+
|
|
2071
|
+
@property
|
|
2072
|
+
def tflite_analyze_exe(self):
|
|
2073
|
+
return self.config["tflite_analyze.exe"]
|
|
2074
|
+
|
|
2075
|
+
def get_frontend_config(self, frontend):
|
|
2076
|
+
assert frontend in ["tflite"], f"Unsupported feature '{self.name}' for frontend '{frontend}'"
|
|
2077
|
+
return filter_none(
|
|
2078
|
+
{
|
|
2079
|
+
f"{frontend}.analyze_enable": self.enabled,
|
|
2080
|
+
f"{frontend}.analyze_script": self.tflite_analyze_exe,
|
|
2081
|
+
}
|
|
2082
|
+
)
|
|
2083
|
+
|
|
2084
|
+
def update_formats(self, frontend, input_formats, output_formats):
|
|
2085
|
+
assert frontend in ["tflite"], f"Unsupported feature '{self.name}' for frontend '{frontend}'"
|
|
2086
|
+
if self.enabled:
|
|
2087
|
+
output_formats.append(ArtifactFormat.TEXT)
|
|
2088
|
+
|
|
2089
|
+
|
|
1919
2090
|
# @register_feature("hpmcounter")
|
|
1920
2091
|
class HpmCounter(TargetFeature, PlatformFeature): # TODO: SetupFeature?
|
|
1921
2092
|
"""Use RISC-V Performance Counters"""
|
|
@@ -2009,3 +2180,40 @@ class CV32HpmCounter(HpmCounter): # TODO: SetupFeature?
|
|
|
2009
2180
|
|
|
2010
2181
|
def __init__(self, features=None, config=None):
|
|
2011
2182
|
super().__init__("cv32_hpmcounter", features=features, config=config)
|
|
2183
|
+
|
|
2184
|
+
|
|
2185
|
+
@register_feature("vanilla_accelerator")
|
|
2186
|
+
class VanillaAccelerator(TargetFeature):
|
|
2187
|
+
"""TODO"""
|
|
2188
|
+
|
|
2189
|
+
DEFAULTS = {
|
|
2190
|
+
**FeatureBase.DEFAULTS,
|
|
2191
|
+
"plugin_name": "VanillaAccelerator",
|
|
2192
|
+
"base_addr": None,
|
|
2193
|
+
}
|
|
2194
|
+
|
|
2195
|
+
def __init__(self, features=None, config=None):
|
|
2196
|
+
super().__init__("vanilla_accelerator", features=features, config=config)
|
|
2197
|
+
|
|
2198
|
+
@property
|
|
2199
|
+
def plugin_name(self):
|
|
2200
|
+
value = self.config["plugin_name"]
|
|
2201
|
+
return value
|
|
2202
|
+
|
|
2203
|
+
@property
|
|
2204
|
+
def base_addr(self):
|
|
2205
|
+
value = self.config["base_addr"]
|
|
2206
|
+
return value
|
|
2207
|
+
|
|
2208
|
+
def add_target_config(self, target, config):
|
|
2209
|
+
assert target in ["etiss"]
|
|
2210
|
+
if not self.enabled:
|
|
2211
|
+
return
|
|
2212
|
+
plugins_new = config.get(f"{target}.plugins", [])
|
|
2213
|
+
plugins_new.append(self.plugin_name)
|
|
2214
|
+
config.update({f"{target}.plugins": plugins_new})
|
|
2215
|
+
if self.base_addr is not None:
|
|
2216
|
+
extra_plugin_config = config.get(f"{target}.extra_plugin_config", {})
|
|
2217
|
+
assert self.name not in extra_plugin_config
|
|
2218
|
+
extra_plugin_config[self.name]["baseaddr"] = self.base_addr
|
|
2219
|
+
config.update({f"{target}.extra_plugin_config": extra_plugin_config})
|
|
@@ -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.exec_getout(tflmc_exe, *args, live=self.print_outputs
|
|
109
|
+
out = utils.exec_getout(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:
|