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.
Files changed (523) hide show
  1. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/PKG-INFO +49 -9
  2. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/README.md +47 -7
  3. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/artifact.py +3 -1
  4. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/common.py +10 -6
  5. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/main.py +1 -0
  6. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/context/context.py +9 -1
  7. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/init.py +10 -6
  8. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/features.py +217 -9
  9. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/tflmc.py +1 -1
  10. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/tflmi.py +16 -0
  11. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/backend.py +22 -12
  12. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/model_info.py +15 -5
  13. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmc_utils.py +4 -4
  14. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmcg.py +1 -1
  15. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/wrapper.py +5 -1
  16. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/frontend.py +85 -20
  17. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/lookup.py +4 -5
  18. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/model.py +15 -2
  19. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/espidf/espidf.py +1 -1
  20. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_base_platform.py +1 -1
  21. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/mlif/mlif.py +47 -12
  22. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_base_platform.py +1 -1
  23. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/zephyr/zephyr.py +1 -3
  24. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/postprocess/__init__.py +1 -1
  25. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/postprocess/postprocesses.py +246 -8
  26. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/run.py +29 -10
  27. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/session.py +18 -0
  28. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/gen_requirements.py +2 -2
  29. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/ara.py +5 -0
  30. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/corstone300.py +5 -1
  31. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/espidf.py +1 -1
  32. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/etiss.py +36 -0
  33. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/llvm.py +2 -1
  34. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/riscv_gcc.py +5 -7
  35. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/spike.py +6 -5
  36. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/srecord.py +1 -1
  37. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tf.py +9 -1
  38. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tvm.py +15 -4
  39. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/verilator.py +1 -0
  40. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/vicuna.py +0 -1
  41. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/zephyr.py +4 -7
  42. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/utils.py +159 -40
  43. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/_target.py +2 -0
  44. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/arm/corstone300.py +2 -1
  45. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/bench.py +17 -4
  46. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/common.py +10 -71
  47. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/elf.py +5 -0
  48. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/host_x86.py +3 -2
  49. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/__init__.py +2 -0
  50. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/ara.py +5 -3
  51. mlonmcu-0.4.1/mlonmcu/target/riscv/ara_rtl.py +297 -0
  52. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/corev_ovpsim.py +3 -2
  53. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/cv32e40p.py +3 -2
  54. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/etiss.py +53 -9
  55. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/gvsoc_pulp.py +2 -1
  56. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/ovpsim.py +15 -69
  57. mlonmcu-0.4.1/mlonmcu/target/riscv/riscv_bext_target.py +102 -0
  58. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv_qemu.py +2 -1
  59. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv_vext_target.py +14 -4
  60. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/spike.py +13 -7
  61. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/util.py +30 -1
  62. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/vicuna.py +75 -37
  63. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/target.py +17 -7
  64. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/version.py +1 -1
  65. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/PKG-INFO +49 -9
  66. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/SOURCES.txt +265 -3
  67. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/requires.txt +6 -6
  68. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/backend.py +62 -0
  69. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/codegen.py +28 -0
  70. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw.cc +88 -0
  71. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw1.cc +67 -0
  72. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw2.cc +93 -0
  73. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/passes.py +206 -0
  74. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/patterns.py +65 -0
  75. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/strategies.py +34 -0
  76. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/backend.py +50 -0
  77. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/codegen.py +28 -0
  78. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw.cc +97 -0
  79. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw1.cc +50 -0
  80. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/passes.py +153 -0
  81. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/patterns.py +32 -0
  82. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/strategies.py +33 -0
  83. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/q_vanilla.py +32 -0
  84. mlonmcu-0.4.1/resources/frameworks/tvm/tvmc_extension/vanilla.py +31 -0
  85. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/ara.yml.j2 +22 -73
  86. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/corev.yml.j2 +16 -12
  87. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/default.yml.j2 +7 -8
  88. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/dev.yml.j2 +14 -17
  89. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/minimal.yml.j2 +1 -3
  90. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/tumeda.yml.j2 +3 -3
  91. mlonmcu-0.4.1/resources/templates/uma.yml.j2 +129 -0
  92. mlonmcu-0.4.1/resources/templates/vicuna.yml.j2 +249 -0
  93. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/setup.cfg +1 -1
  94. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/toolchains/test_riscv_gcc.py +1 -0
  95. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/toolchains/test_riscv_llvm.py +1 -0
  96. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/HISTORY.md +0 -0
  97. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/LICENSE +0 -0
  98. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/MANIFEST.in +0 -0
  99. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/NOTICE +0 -0
  100. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/Makefile +0 -0
  101. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/authors.rst +0 -0
  102. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components/auto_vectorize.rst +0 -0
  103. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components/cmsisnnbyoc.rst +0 -0
  104. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components/muriscvnnbyoc.rst +0 -0
  105. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/components.rst +0 -0
  106. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/conf.py +0 -0
  107. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/contributing.rst +0 -0
  108. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/design.rst +0 -0
  109. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/docs.rst +0 -0
  110. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/environments.rst +0 -0
  111. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/history.rst +0 -0
  112. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/index.rst +0 -0
  113. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/installation.rst +0 -0
  114. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/logging.rst +0 -0
  115. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/make.bat +0 -0
  116. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.cli.helper.rst +0 -0
  117. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.cli.rst +0 -0
  118. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.context.rst +0 -0
  119. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.environment.rst +0 -0
  120. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.feature.rst +0 -0
  121. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.rst +0 -0
  122. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tflm.backend.rst +0 -0
  123. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tflm.rst +0 -0
  124. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tvm.backend.rst +0 -0
  125. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.flow.tvm.rst +0 -0
  126. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.models.rst +0 -0
  127. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.platform.rst +0 -0
  128. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.rst +0 -0
  129. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.session.postprocess.rst +0 -0
  130. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.session.rst +0 -0
  131. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.setup.rst +0 -0
  132. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.target.arm.rst +0 -0
  133. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.target.riscv.rst +0 -0
  134. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/mlonmcu.target.rst +0 -0
  135. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/modules.rst +0 -0
  136. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/postprocess.rst +0 -0
  137. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/readme.rst +0 -0
  138. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/docs/usage.rst +0 -0
  139. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/__init__.py +0 -0
  140. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/__init__.py +0 -0
  141. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/build.py +0 -0
  142. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/cleanup.py +0 -0
  143. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/compile.py +0 -0
  144. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/env.py +0 -0
  145. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/export.py +0 -0
  146. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/flow.py +0 -0
  147. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/helper/__init__.py +0 -0
  148. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/helper/filter.py +0 -0
  149. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/helper/parse.py +0 -0
  150. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/init.py +0 -0
  151. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/load.py +0 -0
  152. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/models.py +0 -0
  153. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/run.py +0 -0
  154. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/setup.py +0 -0
  155. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/cli/tune.py +0 -0
  156. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/config.py +0 -0
  157. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/context/__init__.py +0 -0
  158. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/context/read_write_filelock.py +0 -0
  159. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/__init__.py +0 -0
  160. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/config.py +0 -0
  161. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/environment.py +0 -0
  162. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/list.py +0 -0
  163. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/loader.py +0 -0
  164. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/templates.py +0 -0
  165. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/environment/writer.py +0 -0
  166. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/__init__.py +0 -0
  167. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/feature.py +0 -0
  168. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/feature/type.py +0 -0
  169. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/__init__.py +0 -0
  170. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/backend.py +0 -0
  171. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/framework.py +0 -0
  172. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/__init__.py +0 -0
  173. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/__init__.py +0 -0
  174. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/backend/backend.py +0 -0
  175. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tflm/framework.py +0 -0
  176. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/__init__.py +0 -0
  177. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/__init__.py +0 -0
  178. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/python_utils.py +0 -0
  179. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tuner.py +0 -0
  180. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmaot.py +0 -0
  181. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmaotplus.py +0 -0
  182. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmllvm.py +0 -0
  183. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/backend/tvmrt.py +0 -0
  184. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/flow/tvm/framework.py +0 -0
  185. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/logging.py +0 -0
  186. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/mlonmcu.py +0 -0
  187. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/__init__.py +0 -0
  188. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/convert_data.py +0 -0
  189. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/group.py +0 -0
  190. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/metadata.py +0 -0
  191. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/options.py +0 -0
  192. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/models/utils.py +0 -0
  193. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/__init__.py +0 -0
  194. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/_platform.py +0 -0
  195. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/espidf/__init__.py +0 -0
  196. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/espidf/espidf_target.py +0 -0
  197. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/lookup.py +0 -0
  198. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/__init__.py +0 -0
  199. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm.py +0 -0
  200. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_arduino_target.py +0 -0
  201. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_backend.py +0 -0
  202. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_build_platform.py +0 -0
  203. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_compile_platform.py +0 -0
  204. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_corev_ovpsim_target.py +0 -0
  205. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_espidf_target.py +0 -0
  206. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_etiss_target.py +0 -0
  207. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_host_target.py +0 -0
  208. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_mlonmcu_target.py +0 -0
  209. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_spike_target.py +0 -0
  210. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_target.py +0 -0
  211. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_target_platform.py +0 -0
  212. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_template_target.py +0 -0
  213. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_tune_platform.py +0 -0
  214. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/microtvm/microtvm_zephyr_target.py +0 -0
  215. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/mlif/__init__.py +0 -0
  216. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/mlif/mlif_target.py +0 -0
  217. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/platform.py +0 -0
  218. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/__init__.py +0 -0
  219. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm.py +0 -0
  220. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_backend.py +0 -0
  221. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_build_platform.py +0 -0
  222. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_rpc_platform.py +0 -0
  223. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_target.py +0 -0
  224. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_target_platform.py +0 -0
  225. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/tvm/tvm_tune_platform.py +0 -0
  226. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/zephyr/__init__.py +0 -0
  227. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/platform/zephyr/zephyr_target.py +0 -0
  228. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/plugins.py +0 -0
  229. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/report.py +0 -0
  230. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/__init__.py +0 -0
  231. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/session/postprocess/postprocess.py +0 -0
  232. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/__init__.py +0 -0
  233. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/cache.py +0 -0
  234. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/setup.py +0 -0
  235. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/task.py +0 -0
  236. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/__init__.py +0 -0
  237. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/arm_gcc.py +0 -0
  238. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/benchmarks.py +0 -0
  239. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/cmsisnn.py +0 -0
  240. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/common.py +0 -0
  241. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/corev.py +0 -0
  242. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/cv32e40p.py +0 -0
  243. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/dtc.py +0 -0
  244. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/layergen.py +0 -0
  245. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/mlif.py +0 -0
  246. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/muriscvnn.py +0 -0
  247. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/ovpsim.py +0 -0
  248. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/pulp.py +0 -0
  249. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tflite.py +0 -0
  250. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/tflmc.py +0 -0
  251. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/setup/tasks/utvmcg.py +0 -0
  252. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/__init__.py +0 -0
  253. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/arm/__init__.py +0 -0
  254. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/arm/util.py +0 -0
  255. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/metrics.py +0 -0
  256. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/etiss_pulpino.py +0 -0
  257. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv.py +0 -0
  258. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/target/riscv/riscv_pext_target.py +0 -0
  259. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/testing/__init__.py +0 -0
  260. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/testing/helpers.py +0 -0
  261. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/testing/riscv_toolchain.py +0 -0
  262. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/timeout.py +0 -0
  263. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu/utils.py +0 -0
  264. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/dependency_links.txt +0 -0
  265. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/entry_points.txt +0 -0
  266. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/not-zip-safe +0 -0
  267. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/mlonmcu.egg-info/top_level.txt +0 -0
  268. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/frameworks/tvm/crt_config/README.md +0 -0
  269. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/frameworks/tvm/crt_config/crt_config.h +0 -0
  270. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/frameworks/tvm/tuning_records/riscv_cpu_v0.01.log.best +0 -0
  271. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/patches/fix_esp32c3_march.patch +0 -0
  272. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/patches/pulp_freertos_support.patch +0 -0
  273. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/CMakeLists.txt +0 -0
  274. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/README.md +0 -0
  275. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/CMakeLists.txt +0 -0
  276. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/Kconfig +0 -0
  277. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_data.c +0 -0
  278. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_input.c +0 -0
  279. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_output.c +0 -0
  280. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/exit.h +0 -0
  281. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/ml_interface.h +0 -0
  282. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/printing.h +0 -0
  283. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface.c +0 -0
  284. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tflm.cc +0 -0
  285. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tvm.c +0 -0
  286. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/CMakeLists.txt +0 -0
  287. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/Kconfig +0 -0
  288. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/CMakeLists.txt +0 -0
  289. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/Kconfig +0 -0
  290. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/example_test.py +0 -0
  291. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/info.txt +0 -0
  292. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/CMakeLists.txt +0 -0
  293. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.cc +0 -0
  294. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.h +0 -0
  295. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.cc +0 -0
  296. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.h +0 -0
  297. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc +0 -0
  298. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc.orig +0 -0
  299. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.h +0 -0
  300. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/COPYING +0 -0
  301. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/_kiss_fft_guts.h +0 -0
  302. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.c +0 -0
  303. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.h +0 -0
  304. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.c +0 -0
  305. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.h +0 -0
  306. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/main.cc +0 -0
  307. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.cc +0 -0
  308. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.h +0 -0
  309. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.cc +0 -0
  310. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.h +0 -0
  311. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.cc +0 -0
  312. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.h +0 -0
  313. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/bits.h +0 -0
  314. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.cc +0 -0
  315. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.h +0 -0
  316. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.cc +0 -0
  317. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.h +0 -0
  318. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.c +0 -0
  319. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.h +0 -0
  320. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.c +0 -0
  321. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.h +0 -0
  322. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.c +0 -0
  323. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.h +0 -0
  324. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.c +0 -0
  325. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.h +0 -0
  326. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_common.h +0 -0
  327. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.cc +0 -0
  328. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.h +0 -0
  329. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.c +0 -0
  330. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.h +0 -0
  331. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.c +0 -0
  332. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.h +0 -0
  333. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.c +0 -0
  334. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.h +0 -0
  335. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.c +0 -0
  336. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.h +0 -0
  337. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.c +0 -0
  338. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.h +0 -0
  339. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.c +0 -0
  340. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.h +0 -0
  341. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.c +0 -0
  342. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.h +0 -0
  343. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.c +0 -0
  344. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.h +0 -0
  345. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.c +0 -0
  346. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.h +0 -0
  347. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.c +0 -0
  348. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.h +0 -0
  349. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.cc +0 -0
  350. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.h +0 -0
  351. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.c +0 -0
  352. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.h +0 -0
  353. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/micro_speech_esp32devboard/sdkconfig.defaults +0 -0
  354. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/CMakeLists.txt +0 -0
  355. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/README.md +0 -0
  356. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/CMakeLists.txt +0 -0
  357. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/Kconfig +0 -0
  358. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/default_data.c +0 -0
  359. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/default_model_support/process_input.c +0 -0
  360. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/default_model_support/process_output.c +0 -0
  361. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/include/exit.h +0 -0
  362. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/include/ml_interface.h +0 -0
  363. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/include/printing.h +0 -0
  364. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/ml_interface.c +0 -0
  365. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/ml_interface_tflm.cc +0 -0
  366. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/mlif/ml_interface_tvm.c +0 -0
  367. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tflite-lib/CMakeLists.txt +0 -0
  368. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tflite-lib/Kconfig +0 -0
  369. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tvm-lib/CMakeLists.txt +0 -0
  370. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/components/tvm-lib/Kconfig +0 -0
  371. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/example_test.py +0 -0
  372. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/main/CMakeLists.txt +0 -0
  373. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/main/main.c +0 -0
  374. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/espidf/project/sdkconfig.defaults +0 -0
  375. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/CMakeLists.txt +0 -0
  376. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/Kconfig +0 -0
  377. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/README.rst +0 -0
  378. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/AddAllSubdirs.cmake +0 -0
  379. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/ChooseTarget.cmake +0 -0
  380. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/LinkTFLite.cmake +0 -0
  381. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/LinkTVM.cmake +0 -0
  382. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/LookupClang.cmake +0 -0
  383. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tflmc.cmake +0 -0
  384. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tflmi.cmake +0 -0
  385. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmaot.cmake +0 -0
  386. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmaotplus.cmake +0 -0
  387. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmcg.cmake +0 -0
  388. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmllvm.cmake +0 -0
  389. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/backends/tvmrt.cmake +0 -0
  390. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/extras.cmake +0 -0
  391. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_gcc.cmake +0 -0
  392. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_llvm.cmake +0 -0
  393. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/cmsisnn.cmake +0 -0
  394. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/features/muriscvnn.cmake +0 -0
  395. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tflm.cmake +0 -0
  396. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tflm_mlif.cmake +0 -0
  397. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tvm.cmake +0 -0
  398. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/cmake/frameworks/tvm_mlif.cmake +0 -0
  399. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/CMakeLists.txt +0 -0
  400. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/drivers/fake_input.c +0 -0
  401. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/drivers/fake_input.h +0 -0
  402. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/CMakeLists.txt +0 -0
  403. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_data.c +0 -0
  404. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/CMakeLists.txt +0 -0
  405. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_input.c +0 -0
  406. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_output.c +0 -0
  407. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.c +0 -0
  408. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.h +0 -0
  409. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tflm.cc +0 -0
  410. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tvm.c +0 -0
  411. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/CMakeLists.txt +0 -0
  412. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/dummy.c +0 -0
  413. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/exit.h +0 -0
  414. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/printing.h +0 -0
  415. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/support/quantize.h +0 -0
  416. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/corstone300.c +0 -0
  417. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/default.c +0 -0
  418. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/etiss_pulpino.c +0 -0
  419. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/generic_riscv.c +0 -0
  420. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/riscv_qemu.c +0 -0
  421. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/lib/targets/target.h +0 -0
  422. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/prj.conf +0 -0
  423. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/sample.yaml +0 -0
  424. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project/src/main.c +0 -0
  425. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/CMakeLists.txt +0 -0
  426. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/Kconfig +0 -0
  427. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/README.rst +0 -0
  428. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/AddAllSubdirs.cmake +0 -0
  429. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/ChooseTarget.cmake +0 -0
  430. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/LinkTFLite.cmake +0 -0
  431. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/LinkTVM.cmake +0 -0
  432. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/LookupClang.cmake +0 -0
  433. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tflmc.cmake +0 -0
  434. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tflmi.cmake +0 -0
  435. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmaot.cmake +0 -0
  436. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmaotplus.cmake +0 -0
  437. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmcg.cmake +0 -0
  438. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmllvm.cmake +0 -0
  439. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/backends/tvmrt.cmake +0 -0
  440. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/extras.cmake +0 -0
  441. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_gcc.cmake +0 -0
  442. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_llvm.cmake +0 -0
  443. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/cmsisnn.cmake +0 -0
  444. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/features/muriscvnn.cmake +0 -0
  445. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tflm.cmake +0 -0
  446. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tflm_mlif.cmake +0 -0
  447. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tvm.cmake +0 -0
  448. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/cmake/frameworks/tvm_mlif.cmake +0 -0
  449. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_data.c +0 -0
  450. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_model_support/CMakeLists.txt +0 -0
  451. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_model_support/process_input.c +0 -0
  452. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/default_model_support/process_output.c +0 -0
  453. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/CMakeLists.txt +0 -0
  454. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/drivers/fake_input.c +0 -0
  455. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/drivers/fake_input.h +0 -0
  456. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/CMakeLists.txt +0 -0
  457. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/dummy.c +0 -0
  458. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/exit.h +0 -0
  459. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/printing.h +0 -0
  460. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/support/quantize.h +0 -0
  461. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/corstone300.c +0 -0
  462. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/default.c +0 -0
  463. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/etiss_pulpino.c +0 -0
  464. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/generic_riscv.c +0 -0
  465. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/riscv_qemu.c +0 -0
  466. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/lib/targets/target.h +0 -0
  467. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface.c +0 -0
  468. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface.h +0 -0
  469. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface_tflm.cc +0 -0
  470. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/ml_interface_tvm.c +0 -0
  471. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/prj.conf +0 -0
  472. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/sample.yaml +0 -0
  473. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/settings.json +0 -0
  474. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/platforms/zephyr/project2/src/main.c +0 -0
  475. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/README.md +0 -0
  476. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/run resnet tflmi on pulp.run.xml +0 -0
  477. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/step1_ init env.run.xml +0 -0
  478. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/step2_ setup.run.xml +0 -0
  479. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/pycharm/.run/step3_ run resnet on pulpxpulpissimo.run.xml +0 -0
  480. {mlonmcu-0.4.dev0/resources/templates → mlonmcu-0.4.1/resources/templates/old}/phi.yml.j2 +0 -0
  481. {mlonmcu-0.4.dev0/resources/templates → mlonmcu-0.4.1/resources/templates/old}/research.yml.j2 +0 -0
  482. {mlonmcu-0.4.dev0/resources/templates → mlonmcu-0.4.1/resources/templates/old}/tune.yml.j2 +0 -0
  483. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/resources/templates/pulp.yml.j2 +0 -0
  484. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/setup.py +0 -0
  485. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/__init__.py +0 -0
  486. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/conftest.py +0 -0
  487. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/fixtures.py +0 -0
  488. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/cli/test_cli.py +0 -0
  489. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/cli/test_cli.py.wip +0 -0
  490. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/cli/test_cli2.py +0 -0
  491. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_backends.py +0 -0
  492. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_features.py +0 -0
  493. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_frontends.py +0 -0
  494. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_platforms.py +0 -0
  495. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_postprocesses.py +0 -0
  496. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/integration-tests/components/test_targets.py +0 -0
  497. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/test_mlonmcu.py +0 -0
  498. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/artifact/test_artifact.py +0 -0
  499. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/backends/tvm/test_wrapper.py +0 -0
  500. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/context/test_context.py +0 -0
  501. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/context/test_read_write_filelock.py +0 -0
  502. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/environment/test_environment.py +0 -0
  503. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/environment/test_environment_writer.py +0 -0
  504. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_convert_data.py +0 -0
  505. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_models_group.py +0 -0
  506. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_models_lookup.py +0 -0
  507. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/models/test_models_utils.py +0 -0
  508. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/platform/test_platform_lookup.py +0 -0
  509. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/plugins/test_plugins.py +0 -0
  510. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/setup/test_setup_utils.py +0 -0
  511. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/target/test_target_arm_utils.py +0 -0
  512. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/target/test_target_registry.py +0 -0
  513. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/target/test_target_riscv_utils.py +0 -0
  514. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_cli_filter.py +0 -0
  515. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_cli_parse.py +0 -0
  516. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_config.py +0 -0
  517. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_feature.py +0 -0
  518. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_flow.py +0 -0
  519. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_models.py +0 -0
  520. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_session.py +0 -0
  521. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_setup.py +0 -0
  522. {mlonmcu-0.4.dev0 → mlonmcu-0.4.1}/tests/unit-tests/test_target.py +0 -0
  523. {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.dev0
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
  [![pypi package](https://badge.fury.io/py/mlonmcu.svg)](https://pypi.org/project/mlonmcu)
45
45
  [![readthedocs](https://readthedocs.org/projects/mlonmcu/badge/?version=latest)](https://mlonmcu.readthedocs.io/en/latest/?version=latest)
46
- ![covergae](https://byob.yarr.is/tum-ei-eda/mlonmcu/coverage)
46
+ ![coverage](https://byob.yarr.is/tum-ei-eda/mlonmcu/coverage)
47
47
  [![GitHub license](https://img.shields.io/github/license/tum-ei-eda/mlonmcu.svg)](https://github.com/tum-ei-eda/mlonmcu/blob/main/LICENSE)
48
48
 
49
49
  [![cicd workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/cicd.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/cicd.yml)
50
+ [![lint workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/style.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/style.yml)
50
51
  [![demo workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/demo.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/demo.yml)
51
- [![container workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/container.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/container.yml)
52
52
  [![bench workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/bench.yml/badge.svg)](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
  [![pypi package](https://badge.fury.io/py/mlonmcu.svg)](https://pypi.org/project/mlonmcu)
4
4
  [![readthedocs](https://readthedocs.org/projects/mlonmcu/badge/?version=latest)](https://mlonmcu.readthedocs.io/en/latest/?version=latest)
5
- ![covergae](https://byob.yarr.is/tum-ei-eda/mlonmcu/coverage)
5
+ ![coverage](https://byob.yarr.is/tum-ei-eda/mlonmcu/coverage)
6
6
  [![GitHub license](https://img.shields.io/github/license/tum-ei-eda/mlonmcu.svg)](https://github.com/tum-ei-eda/mlonmcu/blob/main/LICENSE)
7
7
 
8
8
  [![cicd workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/cicd.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/cicd.yml)
9
+ [![lint workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/style.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/style.yml)
9
10
  [![demo workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/demo.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/demo.yml)
10
- [![container workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/container.yml/badge.svg)](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/container.yml)
11
11
  [![bench workflow](https://github.com/tum-ei-eda/mlonmcu/actions/workflows/bench.yml/badge.svg)](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=f"Generator statement for features. (Also available: --feature-gen2 ... --feature-gen{number})"
123
- if i == 0
124
- else argparse.SUPPRESS,
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=f"Generator statement for configs. (Also available: --config-gen2 ... --config-gen{number})"
133
- if i == 0
134
- else argparse.SUPPRESS,
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)
@@ -81,6 +81,7 @@ def handle_docker(args):
81
81
  # def main(args):
82
82
  def main(args=None):
83
83
  """Console script for mlonmcu."""
84
+
84
85
  parser = argparse.ArgumentParser(
85
86
  description="ML on MCU Flow",
86
87
  formatter_class=argparse.ArgumentDefaultsHelpFormatter,
@@ -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
- dest, url="https://github.com/tum-ei-eda/mlonmcu-models.git"
51
- ): # TODO: how to get submodule url/ref
52
- git.Repo.clone_from(url, dest)
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
- clone_models_repo(models_subdir)
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
- "vlen": 128, # 64 does not work with every toolchain
436
- "elen": 64, # some toolchains may generate auto-vectorized programs with elen 64
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
- return int(self.config["vlen"])
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
- return int(self.config["elen"])
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 = ("\n".join(instrs),)
1301
- return "\n".join(new_lines)
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, print_output=False)
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: