mlonmcu 0.4.1__tar.gz → 0.5.dev0__tar.gz

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