mlonmcu 0.7.dev0__tar.gz → 0.8.0__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 (569) hide show
  1. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/PKG-INFO +5 -3
  2. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/README.md +0 -1
  3. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/common.py +7 -0
  4. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/load.py +1 -1
  5. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/config.py +42 -0
  6. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/context/context.py +13 -8
  7. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/feature/feature.py +1 -1
  8. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/feature/features.py +214 -11
  9. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/backend.py +3 -1
  10. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tflm/backend/backend.py +4 -1
  11. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/backend.py +22 -4
  12. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/tvmaot.py +1 -1
  13. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/tvmaotplus.py +17 -4
  14. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/tvmc_utils.py +2 -0
  15. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/tvmllvm.py +1 -1
  16. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/tvmrt.py +4 -2
  17. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/__init__.py +9 -1
  18. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/frontend.py +233 -245
  19. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/lookup.py +44 -10
  20. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/model.py +125 -26
  21. {mlonmcu-0.7.dev0/mlonmcu/flow/tvm/backend → mlonmcu-0.8.0/mlonmcu/models}/model_info.py +2 -1
  22. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/_platform.py +1 -1
  23. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/espidf/espidf.py +47 -3
  24. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/espidf/espidf_target.py +32 -22
  25. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm.py +1 -1
  26. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_backend.py +1 -1
  27. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_etiss_target.py +6 -0
  28. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_target.py +1 -1
  29. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/mlif/mlif.py +23 -4
  30. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/platform.py +18 -2
  31. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm_backend.py +1 -1
  32. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm_target_platform.py +1 -1
  33. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm_tune_platform.py +10 -5
  34. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/zephyr/zephyr.py +1 -1
  35. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/plugins.py +5 -2
  36. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/session/postprocess/__init__.py +6 -0
  37. mlonmcu-0.8.0/mlonmcu/session/postprocess/calc_lib_mem_footprints.py +174 -0
  38. mlonmcu-0.8.0/mlonmcu/session/postprocess/dwarf.py +157 -0
  39. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/session/postprocess/postprocesses.py +497 -5
  40. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/session/run.py +53 -8
  41. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/session/session.py +11 -5
  42. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/cache.py +5 -0
  43. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/gen_requirements.py +4 -1
  44. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/setup.py +4 -2
  45. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/task.py +57 -30
  46. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/__init__.py +3 -0
  47. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/benchmarks.py +2 -1
  48. mlonmcu-0.8.0/mlonmcu/setup/tasks/boost.py +114 -0
  49. mlonmcu-0.8.0/mlonmcu/setup/tasks/cmake.py +140 -0
  50. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/etiss.py +23 -4
  51. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/llvm.py +12 -5
  52. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/muriscvnn.py +9 -4
  53. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/riscv_gcc.py +58 -56
  54. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/spike.py +53 -32
  55. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/srecord.py +3 -0
  56. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/tflmc.py +3 -1
  57. mlonmcu-0.8.0/mlonmcu/setup/tasks/tgc.py +169 -0
  58. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/tvm.py +23 -7
  59. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/utvmcg.py +2 -0
  60. mlonmcu-0.8.0/mlonmcu/setup/tasks/vicuna2.py +56 -0
  61. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/utils.py +144 -4
  62. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/__init__.py +2 -1
  63. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/_target.py +21 -1
  64. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/elf.py +8 -0
  65. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/__init__.py +15 -2
  66. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/canmv_k230_ssh.py +15 -5
  67. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/cv32e40p.py +5 -3
  68. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/etiss.py +143 -60
  69. mlonmcu-0.8.0/mlonmcu/target/riscv/etiss_perf.py +65 -0
  70. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/etiss_pulpino.py +3 -0
  71. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/riscv.py +73 -15
  72. mlonmcu-0.8.0/mlonmcu/target/riscv/spike.py +469 -0
  73. mlonmcu-0.8.0/mlonmcu/target/riscv/tgc.py +154 -0
  74. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/util.py +2 -2
  75. mlonmcu-0.8.0/mlonmcu/target/riscv/vicuna2.py +345 -0
  76. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/ssh_target.py +5 -1
  77. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/target.py +7 -1
  78. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/version.py +1 -1
  79. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu.egg-info/PKG-INFO +5 -3
  80. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu.egg-info/SOURCES.txt +183 -164
  81. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu.egg-info/entry_points.txt +1 -0
  82. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu.egg-info/requires.txt +8 -2
  83. mlonmcu-0.8.0/pyproject.toml +2 -0
  84. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/CMakeLists.txt +2 -0
  85. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/Kconfig +1 -1
  86. {mlonmcu-0.7.dev0/resources/platforms/espidf/project/components/mlif → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/mlif2}/include/exit.h +2 -0
  87. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/ml_interface.c +7 -0
  88. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/CMakeLists.txt +3 -0
  89. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/README.md +26 -0
  90. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/include/posterior.h +81 -0
  91. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/posterior.cc +130 -0
  92. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/test/CMakeLists.txt +3 -0
  93. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/test/README.md +40 -0
  94. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/test/component.mk +7 -0
  95. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/components/posterior/test/test_posterior.cpp +294 -0
  96. {mlonmcu-0.7.dev0/resources/platforms/espidf/project → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/tvm-lib/CMakeLists.txt +4 -4
  97. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/tvm-lib/Kconfig +5 -0
  98. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/CMakeLists.txt +82 -0
  99. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/Kconfig.projbuild +215 -0
  100. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/audio.cc +194 -0
  101. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/audio.h +34 -0
  102. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/backend.cc +134 -0
  103. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/backend.h +40 -0
  104. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/debug.cc +395 -0
  105. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/debug.h +51 -0
  106. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/frontend.cc +121 -0
  107. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/frontend.h +35 -0
  108. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/gpio.cc +93 -0
  109. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/gpio.h +78 -0
  110. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/main.cc +185 -0
  111. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/model_settings.cc +60 -0
  112. mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/model_settings.h +48 -0
  113. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/CMakeLists.txt +1 -1
  114. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/Kconfig +1 -1
  115. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2 → mlonmcu-0.8.0/resources/platforms/espidf/project/components/mlif}/include/exit.h +2 -0
  116. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/include/ml_interface.h +7 -4
  117. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/ml_interface.c +17 -13
  118. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/ml_interface_tflm.cc +52 -7
  119. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/ml_interface_tvm.c +36 -8
  120. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/project}/components/tvm-lib/CMakeLists.txt +4 -4
  121. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/tvm-lib/Kconfig +5 -0
  122. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/main/CMakeLists.txt +1 -3
  123. mlonmcu-0.8.0/resources/platforms/espidf/project/main/main.c +343 -0
  124. mlonmcu-0.8.0/resources/platforms/zephyr/project2/cmake/frameworks/tvm.cmake +1 -0
  125. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/ara.yml.j2 +3 -2
  126. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/corev.yml.j2 +7 -6
  127. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/default.yml.j2 +38 -14
  128. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/dev.yml.j2 +6 -6
  129. mlonmcu-0.8.0/resources/templates/k230.yml.j2 +151 -0
  130. mlonmcu-0.8.0/resources/templates/k230_rvsummit2025.yml.j2 +149 -0
  131. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/minimal.yml.j2 +7 -5
  132. mlonmcu-0.7.dev0/resources/templates/k230.yml.j2 → mlonmcu-0.8.0/resources/templates/tgc.yml.j2 +44 -76
  133. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/tumeda.yml.j2 +3 -3
  134. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/uma.yml.j2 +1 -1
  135. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/vicuna.yml.j2 +78 -40
  136. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/backends/tvm/test_wrapper.py +1 -1
  137. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/models/test_models_lookup.py +15 -9
  138. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/platform/test_platform_lookup.py +5 -2
  139. mlonmcu-0.7.dev0/mlonmcu/target/riscv/spike.py +0 -227
  140. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/CMakeLists.txt +0 -58
  141. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.cc +0 -193
  142. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.h +0 -49
  143. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.cc +0 -53
  144. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.h +0 -35
  145. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc +0 -132
  146. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc.orig +0 -145
  147. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.h +0 -55
  148. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/main.cc +0 -63
  149. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.cc +0 -204
  150. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.h +0 -37
  151. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.cc +0 -121
  152. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.h +0 -38
  153. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.cc +0 -23
  154. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.h +0 -43
  155. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.c +0 -14
  156. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/pins.h +0 -30
  157. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.cc +0 -150
  158. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.h +0 -173
  159. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.c +0 -333
  160. mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.h +0 -74
  161. mlonmcu-0.7.dev0/resources/platforms/espidf/project/main/main.c +0 -57
  162. mlonmcu-0.7.dev0/tests/unit-tests/test_models.py +0 -226
  163. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/HISTORY.md +0 -0
  164. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/LICENSE +0 -0
  165. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/MANIFEST.in +0 -0
  166. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/NOTICE +0 -0
  167. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/Makefile +0 -0
  168. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/authors.rst +0 -0
  169. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/components/auto_vectorize.rst +0 -0
  170. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/components/cmsisnnbyoc.rst +0 -0
  171. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/components/muriscvnnbyoc.rst +0 -0
  172. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/components.rst +0 -0
  173. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/conf.py +0 -0
  174. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/contributing.rst +0 -0
  175. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/design.rst +0 -0
  176. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/docs.rst +0 -0
  177. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/environments.rst +0 -0
  178. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/history.rst +0 -0
  179. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/index.rst +0 -0
  180. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/installation.rst +0 -0
  181. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/logging.rst +0 -0
  182. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/make.bat +0 -0
  183. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.cli.helper.rst +0 -0
  184. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.cli.rst +0 -0
  185. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.context.rst +0 -0
  186. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.environment.rst +0 -0
  187. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.feature.rst +0 -0
  188. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.flow.rst +0 -0
  189. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.flow.tflm.backend.rst +0 -0
  190. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.flow.tflm.rst +0 -0
  191. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.flow.tvm.backend.rst +0 -0
  192. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.flow.tvm.rst +0 -0
  193. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.models.rst +0 -0
  194. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.platform.rst +0 -0
  195. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.rst +0 -0
  196. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.session.postprocess.rst +0 -0
  197. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.session.rst +0 -0
  198. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.setup.rst +0 -0
  199. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.target.arm.rst +0 -0
  200. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.target.riscv.rst +0 -0
  201. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/mlonmcu.target.rst +0 -0
  202. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/modules.rst +0 -0
  203. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/postprocess.rst +0 -0
  204. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/readme.rst +0 -0
  205. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/docs/usage.rst +0 -0
  206. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/__init__.py +0 -0
  207. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/artifact.py +0 -0
  208. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/__init__.py +0 -0
  209. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/build.py +0 -0
  210. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/cleanup.py +0 -0
  211. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/compile.py +0 -0
  212. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/env.py +0 -0
  213. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/export.py +0 -0
  214. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/flow.py +0 -0
  215. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/helper/__init__.py +0 -0
  216. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/helper/filter.py +0 -0
  217. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/helper/parse.py +0 -0
  218. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/init.py +0 -0
  219. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/main.py +0 -0
  220. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/models.py +0 -0
  221. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/run.py +0 -0
  222. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/setup.py +0 -0
  223. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/cli/tune.py +0 -0
  224. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/context/__init__.py +0 -0
  225. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/context/read_write_filelock.py +0 -0
  226. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/__init__.py +0 -0
  227. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/config.py +0 -0
  228. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/environment.py +0 -0
  229. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/init.py +0 -0
  230. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/list.py +0 -0
  231. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/loader.py +0 -0
  232. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/templates.py +0 -0
  233. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/environment/writer.py +0 -0
  234. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/feature/__init__.py +0 -0
  235. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/feature/type.py +0 -0
  236. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/__init__.py +0 -0
  237. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/framework.py +0 -0
  238. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tflm/__init__.py +0 -0
  239. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tflm/backend/__init__.py +0 -0
  240. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tflm/backend/tflmc.py +0 -0
  241. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tflm/backend/tflmi.py +0 -0
  242. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tflm/framework.py +0 -0
  243. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/__init__.py +0 -0
  244. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/__init__.py +0 -0
  245. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/python_utils.py +0 -0
  246. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/tuner.py +0 -0
  247. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/tvmcg.py +0 -0
  248. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/backend/wrapper.py +0 -0
  249. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/flow/tvm/framework.py +0 -0
  250. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/logging.py +0 -0
  251. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/mlonmcu.py +0 -0
  252. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/convert_data.py +0 -0
  253. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/group.py +0 -0
  254. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/metadata.py +0 -0
  255. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/options.py +0 -0
  256. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/models/utils.py +0 -0
  257. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/__init__.py +0 -0
  258. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/espidf/__init__.py +0 -0
  259. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/lookup.py +0 -0
  260. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/__init__.py +0 -0
  261. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_arduino_target.py +0 -0
  262. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_base_platform.py +0 -0
  263. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_build_platform.py +0 -0
  264. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_compile_platform.py +0 -0
  265. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_corev_ovpsim_target.py +0 -0
  266. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_espidf_target.py +0 -0
  267. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_gvsoc_target.py +0 -0
  268. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_host_target.py +0 -0
  269. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_mlonmcu_target.py +0 -0
  270. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_spike_target.py +0 -0
  271. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_target_platform.py +0 -0
  272. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_template_target.py +0 -0
  273. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_tune_platform.py +0 -0
  274. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/microtvm/microtvm_zephyr_target.py +0 -0
  275. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/mlif/__init__.py +0 -0
  276. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/mlif/interfaces.py +0 -0
  277. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/mlif/mlif_target.py +0 -0
  278. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/__init__.py +0 -0
  279. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm.py +0 -0
  280. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm_base_platform.py +0 -0
  281. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm_build_platform.py +0 -0
  282. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm_rpc_platform.py +0 -0
  283. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/tvm/tvm_target.py +0 -0
  284. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/zephyr/__init__.py +0 -0
  285. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/platform/zephyr/zephyr_target.py +0 -0
  286. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/report.py +0 -0
  287. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/session/__init__.py +0 -0
  288. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/session/postprocess/postprocess.py +0 -0
  289. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/session/postprocess/validate_metrics.py +0 -0
  290. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/__init__.py +0 -0
  291. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/ara.py +0 -0
  292. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/arm_gcc.py +0 -0
  293. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/cmsisnn.py +0 -0
  294. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/common.py +0 -0
  295. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/corev.py +0 -0
  296. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/corstone300.py +0 -0
  297. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/cv32e40p.py +0 -0
  298. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/dtc.py +0 -0
  299. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/ekut.py +0 -0
  300. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/espidf.py +0 -0
  301. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/layergen.py +0 -0
  302. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/mlif.py +0 -0
  303. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/ovpsim.py +0 -0
  304. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/pulp.py +0 -0
  305. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/tf.py +0 -0
  306. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/tflite.py +0 -0
  307. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/verilator.py +0 -0
  308. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/vicuna.py +0 -0
  309. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/setup/tasks/zephyr.py +0 -0
  310. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/arm/__init__.py +0 -0
  311. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/arm/corstone300.py +0 -0
  312. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/arm/util.py +0 -0
  313. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/bench.py +0 -0
  314. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/common.py +0 -0
  315. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/host_x86.py +0 -0
  316. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/host_x86_ssh.py +0 -0
  317. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/metrics.py +0 -0
  318. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/ara.py +0 -0
  319. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/ara_rtl.py +0 -0
  320. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/corev_ovpsim.py +0 -0
  321. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/gvsoc_pulp.py +0 -0
  322. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/ovpsim.py +0 -0
  323. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/riscv_bext_target.py +0 -0
  324. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/riscv_pext_target.py +0 -0
  325. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/riscv_qemu.py +0 -0
  326. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/riscv_vext_target.py +0 -0
  327. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/target/riscv/vicuna.py +0 -0
  328. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/testing/__init__.py +0 -0
  329. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/testing/helpers.py +0 -0
  330. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/testing/riscv_toolchain.py +0 -0
  331. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/timeout.py +0 -0
  332. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu/utils.py +0 -0
  333. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu.egg-info/dependency_links.txt +0 -0
  334. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu.egg-info/not-zip-safe +0 -0
  335. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/mlonmcu.egg-info/top_level.txt +0 -0
  336. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/crt_config/README.md +0 -0
  337. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/crt_config/crt_config.h +0 -0
  338. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tuning_records/riscv_cpu_v0.01.log.best +0 -0
  339. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/backend.py +0 -0
  340. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/codegen.py +0 -0
  341. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw.cc +0 -0
  342. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw1.cc +0 -0
  343. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/conv2dnchw2.cc +0 -0
  344. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/passes.py +0 -0
  345. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/patterns.py +0 -0
  346. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/QVanilla_Accelerator/strategies.py +0 -0
  347. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/backend.py +0 -0
  348. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/codegen.py +0 -0
  349. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw.cc +0 -0
  350. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/conv2dnchw1.cc +0 -0
  351. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/passes.py +0 -0
  352. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/patterns.py +0 -0
  353. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/Vanilla_Accelerator/strategies.py +0 -0
  354. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/q_vanilla.py +0 -0
  355. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/frameworks/tvm/tvmc_extension/vanilla.py +0 -0
  356. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/patches/fix_esp32c3_march.patch +0 -0
  357. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/patches/pulp_freertos_support.patch +0 -0
  358. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/CMakeLists.txt +0 -0
  359. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/README.md +0 -0
  360. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/default_data.c +0 -0
  361. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/default_model_support/process_input.c +0 -0
  362. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/default_model_support/process_output.c +0 -0
  363. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/include/ml_interface.h +0 -0
  364. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/include/printing.h +0 -0
  365. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/ml_interface_tflm.cc +0 -0
  366. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/mlif2/ml_interface_tvm.c +0 -0
  367. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/tflite-lib/CMakeLists.txt +0 -0
  368. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/components/tflite-lib/Kconfig +0 -0
  369. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/example_test.py +0 -0
  370. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/info.txt +0 -0
  371. /mlonmcu-0.7.dev0/resources/platforms/zephyr/project/cmake/frameworks/tflm.cmake → /mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard/main/README.md +0 -0
  372. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/kissfft/COPYING +0 -0
  373. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/kissfft/_kiss_fft_guts.h +0 -0
  374. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/kissfft/kiss_fft.c +0 -0
  375. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/kissfft/kiss_fft.h +0 -0
  376. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/kissfft/tools/kiss_fftr.c +0 -0
  377. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/kissfft/tools/kiss_fftr.h +0 -0
  378. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/bits.h +0 -0
  379. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/fft.cc +0 -0
  380. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/fft.h +0 -0
  381. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/fft_util.cc +0 -0
  382. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/fft_util.h +0 -0
  383. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/filterbank.c +0 -0
  384. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/filterbank.h +0 -0
  385. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/filterbank_util.c +0 -0
  386. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/filterbank_util.h +0 -0
  387. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/frontend.c +0 -0
  388. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/frontend.h +0 -0
  389. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/frontend_util.c +0 -0
  390. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/frontend_util.h +0 -0
  391. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/kiss_fft_common.h +0 -0
  392. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/kiss_fft_int16.cc +0 -0
  393. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/kiss_fft_int16.h +0 -0
  394. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/log_lut.c +0 -0
  395. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/log_lut.h +0 -0
  396. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/log_scale.c +0 -0
  397. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/log_scale.h +0 -0
  398. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/log_scale_util.c +0 -0
  399. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/log_scale_util.h +0 -0
  400. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/noise_reduction.c +0 -0
  401. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/noise_reduction.h +0 -0
  402. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/noise_reduction_util.c +0 -0
  403. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/noise_reduction_util.h +0 -0
  404. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/pcan_gain_control.c +0 -0
  405. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/pcan_gain_control.h +0 -0
  406. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/pcan_gain_control_util.c +0 -0
  407. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/pcan_gain_control_util.h +0 -0
  408. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/window.c +0 -0
  409. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/window.h +0 -0
  410. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/window_util.c +0 -0
  411. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/main/microfrontend/lib/window_util.h +0 -0
  412. {mlonmcu-0.7.dev0/resources/platforms/espidf/micro_speech_esp32devboard → mlonmcu-0.8.0/resources/platforms/espidf/micro_kws_esp32devboard}/sdkconfig.defaults +0 -0
  413. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/CMakeLists.txt +0 -0
  414. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/README.md +0 -0
  415. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/default_data.c +0 -0
  416. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/default_model_support/process_input.c +0 -0
  417. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/default_model_support/process_output.c +0 -0
  418. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/mlif/include/printing.h +0 -0
  419. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/tflite-lib/CMakeLists.txt +0 -0
  420. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/components/tflite-lib/Kconfig +0 -0
  421. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/example_test.py +0 -0
  422. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/espidf/project/sdkconfig.defaults +0 -0
  423. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/CMakeLists.txt +0 -0
  424. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/Kconfig +0 -0
  425. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/README.rst +0 -0
  426. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/AddAllSubdirs.cmake +0 -0
  427. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/ChooseTarget.cmake +0 -0
  428. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/LinkTFLite.cmake +0 -0
  429. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/LinkTVM.cmake +0 -0
  430. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/LookupClang.cmake +0 -0
  431. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/backends/tflmc.cmake +0 -0
  432. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/backends/tflmi.cmake +0 -0
  433. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/backends/tvmaot.cmake +0 -0
  434. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/backends/tvmaotplus.cmake +0 -0
  435. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/backends/tvmcg.cmake +0 -0
  436. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/backends/tvmllvm.cmake +0 -0
  437. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/backends/tvmrt.cmake +0 -0
  438. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/extras.cmake +0 -0
  439. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_gcc.cmake +0 -0
  440. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/features/auto_vectorize_llvm.cmake +0 -0
  441. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/features/cmsisnn.cmake +0 -0
  442. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/features/muriscvnn.cmake +0 -0
  443. {mlonmcu-0.7.dev0/resources/platforms/zephyr/project2 → mlonmcu-0.8.0/resources/platforms/zephyr/project}/cmake/frameworks/tflm.cmake +0 -0
  444. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/frameworks/tflm_mlif.cmake +0 -0
  445. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/frameworks/tvm.cmake +0 -0
  446. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/cmake/frameworks/tvm_mlif.cmake +0 -0
  447. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/CMakeLists.txt +0 -0
  448. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/drivers/fake_input.c +0 -0
  449. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/drivers/fake_input.h +0 -0
  450. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/CMakeLists.txt +0 -0
  451. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/default_data.c +0 -0
  452. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/CMakeLists.txt +0 -0
  453. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_input.c +0 -0
  454. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_output.c +0 -0
  455. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.c +0 -0
  456. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface.h +0 -0
  457. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tflm.cc +0 -0
  458. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tvm.c +0 -0
  459. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/support/CMakeLists.txt +0 -0
  460. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/support/dummy.c +0 -0
  461. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/support/exit.h +0 -0
  462. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/support/printing.h +0 -0
  463. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/support/quantize.h +0 -0
  464. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/targets/corstone300.c +0 -0
  465. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/targets/default.c +0 -0
  466. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/targets/etiss_pulpino.c +0 -0
  467. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/targets/generic_riscv.c +0 -0
  468. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/targets/riscv_qemu.c +0 -0
  469. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/lib/targets/target.h +0 -0
  470. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/prj.conf +0 -0
  471. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/sample.yaml +0 -0
  472. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project/src/main.c +0 -0
  473. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/CMakeLists.txt +0 -0
  474. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/Kconfig +0 -0
  475. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/README.rst +0 -0
  476. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/AddAllSubdirs.cmake +0 -0
  477. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/ChooseTarget.cmake +0 -0
  478. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/LinkTFLite.cmake +0 -0
  479. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/LinkTVM.cmake +0 -0
  480. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/LookupClang.cmake +0 -0
  481. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/backends/tflmc.cmake +0 -0
  482. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/backends/tflmi.cmake +0 -0
  483. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/backends/tvmaot.cmake +0 -0
  484. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/backends/tvmaotplus.cmake +0 -0
  485. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/backends/tvmcg.cmake +0 -0
  486. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/backends/tvmllvm.cmake +0 -0
  487. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/backends/tvmrt.cmake +0 -0
  488. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/extras.cmake +0 -0
  489. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_gcc.cmake +0 -0
  490. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/features/auto_vectorize_llvm.cmake +0 -0
  491. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/features/cmsisnn.cmake +0 -0
  492. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/features/muriscvnn.cmake +0 -0
  493. /mlonmcu-0.7.dev0/resources/platforms/zephyr/project2/cmake/frameworks/tvm.cmake → /mlonmcu-0.8.0/resources/platforms/zephyr/project2/cmake/frameworks/tflm.cmake +0 -0
  494. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/frameworks/tflm_mlif.cmake +0 -0
  495. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/cmake/frameworks/tvm_mlif.cmake +0 -0
  496. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/default_data.c +0 -0
  497. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/default_model_support/CMakeLists.txt +0 -0
  498. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/default_model_support/process_input.c +0 -0
  499. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/default_model_support/process_output.c +0 -0
  500. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/CMakeLists.txt +0 -0
  501. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/drivers/fake_input.c +0 -0
  502. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/drivers/fake_input.h +0 -0
  503. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/support/CMakeLists.txt +0 -0
  504. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/support/dummy.c +0 -0
  505. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/support/exit.h +0 -0
  506. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/support/printing.h +0 -0
  507. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/support/quantize.h +0 -0
  508. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/targets/corstone300.c +0 -0
  509. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/targets/default.c +0 -0
  510. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/targets/etiss_pulpino.c +0 -0
  511. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/targets/generic_riscv.c +0 -0
  512. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/targets/riscv_qemu.c +0 -0
  513. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/lib/targets/target.h +0 -0
  514. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/ml_interface.c +0 -0
  515. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/ml_interface.h +0 -0
  516. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/ml_interface_tflm.cc +0 -0
  517. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/ml_interface_tvm.c +0 -0
  518. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/prj.conf +0 -0
  519. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/sample.yaml +0 -0
  520. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/settings.json +0 -0
  521. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/platforms/zephyr/project2/src/main.c +0 -0
  522. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/pycharm/.run/README.md +0 -0
  523. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/pycharm/.run/run resnet tflmi on pulp.run.xml +0 -0
  524. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/pycharm/.run/step1_ init env.run.xml +0 -0
  525. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/pycharm/.run/step2_ setup.run.xml +0 -0
  526. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/pycharm/.run/step3_ run resnet on pulpxpulpissimo.run.xml +0 -0
  527. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/old/phi.yml.j2 +0 -0
  528. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/old/research.yml.j2 +0 -0
  529. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/old/tune.yml.j2 +0 -0
  530. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/resources/templates/pulp.yml.j2 +0 -0
  531. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/setup.cfg +0 -0
  532. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/setup.py +0 -0
  533. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/__init__.py +0 -0
  534. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/conftest.py +0 -0
  535. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/fixtures.py +0 -0
  536. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/cli/test_cli.py +0 -0
  537. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/cli/test_cli.py.wip +0 -0
  538. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/cli/test_cli2.py +0 -0
  539. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/components/test_backends.py +0 -0
  540. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/components/test_features.py +0 -0
  541. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/components/test_frontends.py +0 -0
  542. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/components/test_platforms.py +0 -0
  543. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/components/test_postprocesses.py +0 -0
  544. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/components/test_targets.py +0 -0
  545. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/toolchains/test_riscv_gcc.py +0 -0
  546. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/integration-tests/toolchains/test_riscv_llvm.py +0 -0
  547. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/test_mlonmcu.py +0 -0
  548. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/artifact/test_artifact.py +0 -0
  549. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/context/test_context.py +0 -0
  550. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/context/test_read_write_filelock.py +0 -0
  551. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/environment/test_environment.py +0 -0
  552. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/environment/test_environment_writer.py +0 -0
  553. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/models/test_convert_data.py +0 -0
  554. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/models/test_models_group.py +0 -0
  555. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/models/test_models_utils.py +0 -0
  556. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/plugins/test_plugins.py +0 -0
  557. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/setup/test_setup_utils.py +0 -0
  558. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/target/test_target_arm_utils.py +0 -0
  559. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/target/test_target_registry.py +0 -0
  560. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/target/test_target_riscv_utils.py +0 -0
  561. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_cli_filter.py +0 -0
  562. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_cli_parse.py +0 -0
  563. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_config.py +0 -0
  564. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_feature.py +0 -0
  565. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_flow.py +0 -0
  566. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_session.py +0 -0
  567. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_setup.py +0 -0
  568. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_target.py +0 -0
  569. {mlonmcu-0.7.dev0 → mlonmcu-0.8.0}/tests/unit-tests/test_utils.py +0 -0
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mlonmcu
3
- Version: 0.7.dev0
3
+ Version: 0.8.0
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
10
11
  Classifier: Development Status :: 2 - Pre-Alpha
11
12
  Classifier: Intended Audience :: Developers
12
13
  Classifier: License :: OSI Approved :: Apache Software License
@@ -20,6 +21,7 @@ Classifier: Programming Language :: Python :: 3.10
20
21
  Classifier: Programming Language :: Python :: 3.11
21
22
  Requires-Python: >=3.7
22
23
  Description-Content-Type: text/markdown
24
+ Provides-Extra: all-prod
23
25
  Provides-Extra: espidf
24
26
  Provides-Extra: etiss
25
27
  Provides-Extra: gvsoc_pulp
@@ -35,7 +37,6 @@ Provides-Extra: tvm-autotuning
35
37
  Provides-Extra: visualize
36
38
  Provides-Extra: visualize_tflite
37
39
  Provides-Extra: zephyr
38
- Provides-Extra: all-prod
39
40
  License-File: LICENSE
40
41
  License-File: NOTICE
41
42
 
@@ -189,7 +190,6 @@ with mlonmcu.context.MlonMcuContext() as context:
189
190
  Make sure to first install the additonal set of development Python packages into your virtual environment:
190
191
 
191
192
  ```
192
- pip install -r requirements_all.txt # Install packages for every component (instead of using mlonmcu setup -g)
193
193
  pip install -r requirements_dev.txt # Building distributions and running tests
194
194
  pip install -r docs/requirements.txt # For working with the documentation
195
195
  ```
@@ -260,3 +260,5 @@ the projects [Scale4Edge](https://www.edacentrum.de/scale4edge/) (grant number 1
260
260
  ## 0.1.0 (2021-11-12)
261
261
 
262
262
  * First closed-source release.
263
+
264
+
@@ -148,7 +148,6 @@ with mlonmcu.context.MlonMcuContext() as context:
148
148
  Make sure to first install the additonal set of development Python packages into your virtual environment:
149
149
 
150
150
  ```
151
- pip install -r requirements_all.txt # Install packages for every component (instead of using mlonmcu setup -g)
152
151
  pip install -r requirements_dev.txt # Building distributions and running tests
153
152
  pip install -r docs/requirements.txt # For working with the documentation
154
153
  ```
@@ -167,6 +167,13 @@ def add_flow_options(parser):
167
167
  default="",
168
168
  help="Label for the session (default: %(default)s)",
169
169
  )
170
+ flow_parser.add_argument(
171
+ "--dest",
172
+ type=str,
173
+ metavar="DEST",
174
+ default=None,
175
+ help="Custom destination for session artifacts",
176
+ )
170
177
 
171
178
 
172
179
  def add_common_options(parser):
@@ -64,7 +64,7 @@ def _handle(args, context):
64
64
  config.update(new_config)
65
65
  frontends = extract_frontend_names(args, context=context)
66
66
  postprocesses = extract_postprocess_names(args, context=context)
67
- session = context.get_session(label=args.label, resume=args.resume, config=config)
67
+ session = context.get_session(label=args.label, resume=args.resume, config=config, dest=args.dest)
68
68
  models = apply_modelgroups(args.models, context=context)
69
69
  for model in models:
70
70
  for f in gen_features:
@@ -18,6 +18,7 @@
18
18
  #
19
19
  """Collection of utilities to manage MLonMCU configs."""
20
20
  import distutils.util
21
+ from typing import List
21
22
  import ast
22
23
 
23
24
  from mlonmcu.feature.type import FeatureType
@@ -244,3 +245,44 @@ def str2list(value, allow_none=False):
244
245
  if value.startswith("["):
245
246
  return list(ast.literal_eval(value))
246
247
  return value.split(",")
248
+
249
+
250
+ def pick_first(
251
+ config: dict, candidates: List[str], allow_empty: bool = False, allow_none: bool = False, allow_fail: bool = False
252
+ ):
253
+ """Find first valid entry in config for given keys.
254
+
255
+ Arguments
256
+ ---------
257
+ config : dict
258
+ The configuration data.
259
+ candidates : List[str]
260
+ The candidate keys.
261
+ allow_empty : bool, optional
262
+ Do not fail an return None if list is empty.
263
+ allow_none : bool, optional
264
+ Allow config entries with value None.
265
+ allow_fail : bool, optional
266
+ Do not fail if no valiud entry is found.
267
+
268
+ Returns
269
+ -------
270
+ ret : any
271
+ The found value in the config dict or None.
272
+
273
+ """
274
+ if len(candidates) == 0:
275
+ assert allow_empty, "pick_first: got empty list"
276
+ return None
277
+ ret = None
278
+ found = False
279
+ for candidate in candidates:
280
+ if candidate in config.keys():
281
+ val = config[candidate]
282
+ if val is not None or allow_none:
283
+ ret = val
284
+ found = True
285
+ break
286
+ if not found:
287
+ assert allow_fail, f"pick_first: could not find valid candidate in config ({candidates})"
288
+ return ret
@@ -22,7 +22,7 @@ import sys
22
22
  import os
23
23
  import shutil
24
24
  import tempfile
25
- from typing import List, Union
25
+ from typing import List, Union, Optional
26
26
  from pathlib import Path
27
27
  import filelock
28
28
 
@@ -190,7 +190,7 @@ def load_recent_sessions(env: Environment, count: int = None) -> List[Session]:
190
190
  run.archived = True
191
191
  run.dir = run_directory
192
192
  runs.append(run)
193
- session = Session(idx=sid, archived=True, dir=session_directory)
193
+ session = Session(idx=sid, archived=True, dest=session_directory)
194
194
  session.runs = runs
195
195
  session.dir = session_directory
196
196
  sessions.append(session)
@@ -308,7 +308,7 @@ class MlonMcuContext:
308
308
  self.cache = TaskCache()
309
309
  self.export_paths = set()
310
310
 
311
- def create_session(self, label="", config=None):
311
+ def create_session(self, label="", config=None, dest: Optional[Union[str, Path]] = None):
312
312
  try:
313
313
  lock = self.latest_session_link_lock.acquire(timeout=10)
314
314
  except filelock.Timeout as err:
@@ -323,7 +323,7 @@ class MlonMcuContext:
323
323
  sessions_directory = temp_directory / "sessions"
324
324
  sessions_directory.mkdir(exist_ok=True, parents=True)
325
325
  session_dir = sessions_directory / str(idx)
326
- session = Session(idx=idx, label=label, dir=session_dir, config=config)
326
+ session = Session(idx=idx, label=label, dest=dest if dest is not None else session_dir, config=config)
327
327
  self.sessions.append(session)
328
328
  self.session_idx = idx
329
329
  # TODO: move this to a helper function
@@ -350,6 +350,10 @@ class MlonMcuContext:
350
350
 
351
351
  def load_extensions(self):
352
352
  """If available load the extensions.py scripts in the plugin directories"""
353
+ if self.environment:
354
+ allow_extensions = self.environment.vars.get("allow_extensions", False)
355
+ if not allow_extensions:
356
+ return
353
357
 
354
358
  # TODO: check vars.enable_extensions before!
355
359
  def _load(plugins_dir, hint="Unknown"):
@@ -357,7 +361,7 @@ class MlonMcuContext:
357
361
  extensions_file = plugins_dir / "extensions.py"
358
362
  if extensions_file.is_file():
359
363
  logger.info(f"Loading extensions.py ({hint})")
360
- process_extensions(extensions_file)
364
+ process_extensions(extensions_file, desc=hint.lower())
361
365
 
362
366
  # global (user)
363
367
  plugins_dir = Path(get_plugins_dir())
@@ -370,7 +374,7 @@ class MlonMcuContext:
370
374
  plugins_dir = self.environment.paths["plugins"].path
371
375
  _load(plugins_dir, hint="Environment")
372
376
 
373
- def get_session(self, label="", resume=False, config=None) -> Session:
377
+ def get_session(self, label="", resume=False, config=None, dest=None) -> Session:
374
378
  """Get an active session if available, else create a new one.
375
379
 
376
380
  Returns
@@ -385,8 +389,9 @@ class MlonMcuContext:
385
389
  raise NotImplementedError
386
390
 
387
391
  if self.session_idx < 0 or not self.sessions[-1].active:
388
- self.create_session(label=label, config=config)
389
- return self.sessions[-1]
392
+ self.create_session(label=label, config=config, dest=dest)
393
+ ret = self.sessions[-1]
394
+ return ret
390
395
 
391
396
  def __enter__(self):
392
397
  logger.debug("Enter MlonMcuContext")
@@ -16,7 +16,7 @@
16
16
  # See the License for the specific language governing permissions and
17
17
  # limitations under the License.
18
18
  #
19
- """ MLonMCU Features API"""
19
+ """MLonMCU Features API"""
20
20
 
21
21
  from abc import ABC
22
22
 
@@ -155,7 +155,9 @@ class Muriscvnn(SetupFeature, FrameworkFeature, PlatformFeature):
155
155
  DEFAULTS = {
156
156
  **FeatureBase.DEFAULTS,
157
157
  "use_vext": "AUTO",
158
+ "use_portable": "AUTO",
158
159
  "use_pext": "AUTO",
160
+ "use_corev": False,
159
161
  }
160
162
 
161
163
  REQUIRED = {"muriscvnn.src_dir"}
@@ -175,6 +177,14 @@ class Muriscvnn(SetupFeature, FrameworkFeature, PlatformFeature):
175
177
  value = str2bool(value)
176
178
  return "ON" if value else "OFF"
177
179
 
180
+ @property
181
+ def use_portable(self):
182
+ value = self.config["use_portable"]
183
+ if value == "AUTO" or value is None:
184
+ return value
185
+ value = str2bool(value)
186
+ return "ON" if value else "OFF"
187
+
178
188
  @property
179
189
  def use_pext(self):
180
190
  value = self.config["use_pext"]
@@ -183,6 +193,12 @@ class Muriscvnn(SetupFeature, FrameworkFeature, PlatformFeature):
183
193
  value = str2bool(value)
184
194
  return "ON" if value else "OFF"
185
195
 
196
+ @property
197
+ def use_corev(self):
198
+ value = self.config["use_corev"]
199
+ value = str2bool(value)
200
+ return "ON" if value else "OFF"
201
+
186
202
  def add_framework_config(self, framework, config):
187
203
  assert framework == "tflm", f"Unsupported feature '{self.name}' for framework '{framework}'"
188
204
  if f"{framework}.optimized_kernel" in config and config[f"{framework}.optimized_kernel"] not in [
@@ -198,8 +214,10 @@ class Muriscvnn(SetupFeature, FrameworkFeature, PlatformFeature):
198
214
  return {
199
215
  "MURISCVNN": self.enabled,
200
216
  "MURISCVNN_DIR": self.muriscvnn_dir,
217
+ "MURISCVNN_PORTABLE": self.use_portable,
201
218
  "MURISCVNN_VEXT": self.use_vext,
202
219
  "MURISCVNN_PEXT": self.use_pext,
220
+ "MURISCVNN_COREV": self.use_corev,
203
221
  }
204
222
 
205
223
  def get_required_cache_flags(self):
@@ -339,6 +357,7 @@ class MuriscvnnByoc(SetupFeature, BackendFeature, PlatformFeature):
339
357
  "mattr": None, # for +nodsp, +nomve
340
358
  "debug_last_error": False,
341
359
  "use_vext": "AUTO",
360
+ "use_portable": "AUTO",
342
361
  "use_pext": "AUTO",
343
362
  }
344
363
 
@@ -371,6 +390,14 @@ class MuriscvnnByoc(SetupFeature, BackendFeature, PlatformFeature):
371
390
  value = str2bool(value)
372
391
  return "ON" if value else "OFF"
373
392
 
393
+ @property
394
+ def use_portable(self):
395
+ value = self.config["use_portable"]
396
+ if value == "AUTO" or value is None:
397
+ return value
398
+ value = str2bool(value)
399
+ return "ON" if value else "OFF"
400
+
374
401
  @property
375
402
  def use_pext(self):
376
403
  value = self.config["use_pext"]
@@ -409,6 +436,7 @@ class MuriscvnnByoc(SetupFeature, BackendFeature, PlatformFeature):
409
436
  return {
410
437
  "MURISCVNN": self.enabled,
411
438
  "MURISCVNN_DIR": self.muriscvnn_dir,
439
+ "MURISCVNN_PORTABLE": self.use_portable,
412
440
  "MURISCVNN_VEXT": self.use_vext,
413
441
  "MURISCVNN_PEXT": self.use_pext,
414
442
  }
@@ -531,7 +559,11 @@ class Pext(SetupFeature, TargetFeature, PlatformFeature):
531
559
  "muriscvnn.lib": ["pext"],
532
560
  "tflmc.exe": ["pext"],
533
561
  "riscv_gcc.install_dir": ["pext"],
562
+ "riscv_gcc32.install_dir": ["pext"],
563
+ "riscv_gcc64.install_dir": ["pext"],
534
564
  "riscv_gcc.name": ["pext"],
565
+ "riscv_gcc32.name": ["pext"],
566
+ "riscv_gcc64.name": ["pext"],
535
567
  }
536
568
 
537
569
 
@@ -639,7 +671,7 @@ class GdbServer(TargetFeature):
639
671
  return int(self.config["port"]) if self.config["port"] is not None else None
640
672
 
641
673
  def get_target_config(self, target):
642
- assert target in ["host_x86", "etiss_pulpino", "etiss", "ovpsim", "corev_ovpsim"]
674
+ assert target in ["host_x86", "etiss_pulpino", "etiss", "etiss_rv32", "etiss_rv64", "ovpsim", "corev_ovpsim"]
643
675
  return filter_none(
644
676
  {
645
677
  f"{target}.gdbserver_enable": self.enabled,
@@ -678,10 +710,11 @@ class Trace(TargetFeature):
678
710
  def __init__(self, features=None, config=None):
679
711
  super().__init__("trace", features=features, config=config)
680
712
 
713
+ # TODO: add callback to save artifact?
681
714
  # def add_target_config(self, target, config, directory=None):
682
715
  def add_target_config(self, target, config):
683
- assert target in ["etiss_pulpino", "etiss", "ovpsim"]
684
- if target in ["etiss_pulpino", "etiss"]:
716
+ assert target in ["etiss_pulpino", "etiss", "etiss_perf", "ovpsim"]
717
+ if target in ["etiss_pulpino", "etiss", "etiss_perf"]:
685
718
  config.update({f"{target}.trace_memory": self.enabled})
686
719
  elif target == "ovpsim":
687
720
  extra_args_new = config.get("extra_args", [])
@@ -694,6 +727,39 @@ class Trace(TargetFeature):
694
727
  extra_args_new.append(trace_file)
695
728
  config.update({f"{target}.extra_args": extra_args_new})
696
729
 
730
+ def get_target_callbacks(self, target):
731
+ assert target in [
732
+ "etiss_pulpino",
733
+ "etiss",
734
+ "etiss_perf",
735
+ "ovpsim",
736
+ "corev_ovpsim",
737
+ ], f"Unsupported feature '{self.name}' for target '{target}'"
738
+ if self.enabled:
739
+ if self.to_file:
740
+
741
+ def mem_trace_callback(stdout, metrics, artifacts, directory=None):
742
+ """Callback which parses collects the generated artifacts."""
743
+ file_name = "trace.txt"
744
+ if target in ["etiss_pulpino", "etiss", "etiss_perf"]:
745
+ file_name = "dBusAccess.csv"
746
+ assert directory is not None
747
+ file_path = Path(directory) / file_name
748
+ assert file_path.is_file()
749
+ with open(file_path, "r") as f:
750
+ content = f.read()
751
+ mem_artifact = Artifact(
752
+ f"{target}_mem.log",
753
+ content=content,
754
+ fmt=ArtifactFormat.TEXT,
755
+ flags=(self.name, target),
756
+ )
757
+ artifacts.append(mem_artifact)
758
+ return stdout
759
+
760
+ return None, mem_trace_callback
761
+ return None, None
762
+
697
763
 
698
764
  @register_feature("unpacked_api")
699
765
  class UnpackedApi(BackendFeature): # TODO: should this be a feature or config only?
@@ -791,7 +857,7 @@ class Usmp(BackendFeature):
791
857
 
792
858
  @register_feature("fuse_ops")
793
859
  class FuseOps(BackendFeature):
794
- """TODO"""
860
+ """Exposes relay.FuseOps.max_depth settings for TVM backends."""
795
861
 
796
862
  DEFAULTS = {
797
863
  **FeatureBase.DEFAULTS,
@@ -1093,7 +1159,7 @@ class AutoTVM(TVMTuneBase):
1093
1159
 
1094
1160
  @register_feature("autoscheduler", depends=["autotune"])
1095
1161
  class AutoScheduler(TVMTuneBase):
1096
- """TODO"""
1162
+ """TVM AutoScheduler Tuning Feature."""
1097
1163
 
1098
1164
  # TODO: metascheduler
1099
1165
  # TODO: graphtuner
@@ -1131,7 +1197,7 @@ class AutoScheduler(TVMTuneBase):
1131
1197
 
1132
1198
  @register_feature("metascheduler", depends=["autotune"])
1133
1199
  class MetaScheduler(TVMTuneBase):
1134
- """TODO"""
1200
+ """TVM MetaScheduler Tuning Feature."""
1135
1201
 
1136
1202
  DEFAULTS = {
1137
1203
  **TVMTuneBase.DEFAULTS,
@@ -1386,7 +1452,16 @@ class LogInstructions(TargetFeature):
1386
1452
 
1387
1453
  # def add_target_config(self, target, config, directory=None):
1388
1454
  def add_target_config(self, target, config):
1389
- assert target in ["spike", "etiss_pulpino", "etiss", "ovpsim", "corev_ovpsim", "gvsoc_pulp"]
1455
+ assert target in [
1456
+ "spike",
1457
+ "etiss_pulpino",
1458
+ "etiss",
1459
+ "etiss_perf",
1460
+ "ovpsim",
1461
+ "corev_ovpsim",
1462
+ "gvsoc_pulp",
1463
+ "vicuna2",
1464
+ ]
1390
1465
  if not self.enabled:
1391
1466
  return
1392
1467
  if target == "spike":
@@ -1398,7 +1473,7 @@ class LogInstructions(TargetFeature):
1398
1473
  log_file = directory / "instrs.txt"
1399
1474
  extra_args_new.append(f"--log={log_file}")
1400
1475
  config.update({f"{target}.extra_args": extra_args_new})
1401
- elif target in ["etiss_pulpino", "etiss"]:
1476
+ elif target in ["etiss_pulpino", "etiss", "etiss_perf"]:
1402
1477
  plugins_new = config.get("plugins", [])
1403
1478
  plugins_new.append("PrintInstruction")
1404
1479
  config.update({f"{target}.plugins": plugins_new})
@@ -1427,15 +1502,19 @@ class LogInstructions(TargetFeature):
1427
1502
  else:
1428
1503
  extra_args_new.append("--trace=insn")
1429
1504
  config.update({f"{target}.extra_args": extra_args_new})
1505
+ elif target == "vicuna2":
1506
+ config.update({f"{target}.log_instrs": True})
1430
1507
 
1431
1508
  def get_target_callbacks(self, target):
1432
1509
  assert target in [
1433
1510
  "spike",
1434
1511
  "etiss_pulpino",
1435
1512
  "etiss",
1513
+ "etiss_perf",
1436
1514
  "ovpsim",
1437
1515
  "corev_ovpsim",
1438
1516
  "gvsoc_pulp",
1517
+ "vicuna2",
1439
1518
  ], f"Unsupported feature '{self.name}' for target '{target}'"
1440
1519
  if self.enabled:
1441
1520
  if not target == "gvsoc_pulp":
@@ -1444,14 +1523,14 @@ class LogInstructions(TargetFeature):
1444
1523
  """Callback which parses the targets output and updates the generated metrics and artifacts."""
1445
1524
  new_lines = []
1446
1525
  if self.to_file:
1447
- if target in ["etiss_pulpino", "etiss"]:
1526
+ if target in ["etiss_pulpino", "etiss", "etiss_perf"]:
1448
1527
  if self.etiss_experimental_print_to_file:
1449
1528
  log_file = Path(directory) / "instr_trace.csv"
1450
1529
  else:
1451
1530
  # TODO: update stdout and remove log_instrs lines
1452
1531
  instrs = []
1453
1532
  for line in stdout.split("\n"):
1454
- if target in ["etiss_pulpino", "etiss"]:
1533
+ if target in ["etiss_pulpino", "etiss", "etiss_perf"]:
1455
1534
  expr = re.compile(r"0x[a-fA-F0-9]+: .* \[.*\]")
1456
1535
  match = expr.match(line)
1457
1536
  if match is not None:
@@ -1460,6 +1539,10 @@ class LogInstructions(TargetFeature):
1460
1539
  new_lines.append(line)
1461
1540
  content = "\n".join(instrs)
1462
1541
  stdout = "\n".join(new_lines)
1542
+ elif target == "vicuna2":
1543
+ log_file = Path(directory) / "log_instrs.csv"
1544
+ with open(log_file, "r") as f:
1545
+ content = f.read()
1463
1546
  else:
1464
1547
  assert target in ["spike", "ovpsim", "corev_ovpsim"]
1465
1548
  log_file = Path(directory) / "instrs.txt"
@@ -2205,7 +2288,7 @@ class CV32HpmCounter(HpmCounter): # TODO: SetupFeature?
2205
2288
 
2206
2289
  @register_feature("vanilla_accelerator")
2207
2290
  class VanillaAccelerator(TargetFeature):
2208
- """TODO"""
2291
+ """BYOC Vanilla Accelerator Feature for TVM."""
2209
2292
 
2210
2293
  DEFAULTS = {
2211
2294
  **FeatureBase.DEFAULTS,
@@ -2447,3 +2530,123 @@ class ValidateNew(RunFeature):
2447
2530
  # # validate_outputs_postprocess = ValidateOutputsPostprocess(features=[], config=config)
2448
2531
  # # return [validate_outputs_postprocess]
2449
2532
  # return ["validate_outputs"]
2533
+
2534
+
2535
+ @register_feature("perf_sim")
2536
+ class PerfSim(TargetFeature):
2537
+ """ETISS Performance Estimation/Simulation Feature."""
2538
+
2539
+ DEFAULTS = {
2540
+ **FeatureBase.DEFAULTS,
2541
+ "core": "cv32e40p",
2542
+ "estimator": True,
2543
+ "trace_asm": False, # TODO: move to owen feature, save files!
2544
+ "trace_instr": False, # TODO: move to owen feature, save files!
2545
+ "to_file": False,
2546
+ }
2547
+
2548
+ def __init__(self, features=None, config=None):
2549
+ super().__init__("perf_sim", features=features, config=config)
2550
+
2551
+ @property
2552
+ def core(self):
2553
+ value = self.config["core"]
2554
+ return value
2555
+
2556
+ @property
2557
+ def estimator(self):
2558
+ value = self.config["estimator"]
2559
+ return str2bool(value)
2560
+
2561
+ @property
2562
+ def trace_asm(self):
2563
+ value = self.config["trace_asm"]
2564
+ return str2bool(value)
2565
+
2566
+ @property
2567
+ def trace_instr(self):
2568
+ value = self.config["trace_instr"]
2569
+ return str2bool(value)
2570
+
2571
+ def to_file(self):
2572
+ value = self.config["to_file"]
2573
+ return str2bool(value, allow_none=True)
2574
+
2575
+ def add_target_config(self, target, config):
2576
+ assert target in ["etiss_perf"]
2577
+ if not self.enabled:
2578
+ return
2579
+ plugins_new = config.get(f"{target}.plugins", [])
2580
+ extra_plugin_config = config.get(f"{target}.extra_plugin_config", {})
2581
+ if self.estimator:
2582
+ plugins_new.append("PerformanceEstimatorPlugin")
2583
+ if self.core is not None:
2584
+ assert self.name not in extra_plugin_config
2585
+ extra_plugin_config["perfEst"] = {}
2586
+ extra_plugin_config["perfEst"]["uArch"] = self.core.upper()
2587
+ if self.to_file:
2588
+ extra_plugin_config["perfEst"]["print"] = 1
2589
+ extra_plugin_config["perfEst"]["printDir"] = "."
2590
+ if self.trace_asm or self.trace_instr:
2591
+ if self.to_file:
2592
+ assert not (self.trace_asm and self.trace_instr)
2593
+ assert not self.trace_instr or self.core.upper() == "CVA6"
2594
+ plugins_new.append("TracePrinterPlugin")
2595
+ trace = "InstructionTrace_RV64" if self.trace_instr else "AssemblyTrace"
2596
+ # trace = "InstructionTrace_RV64" if self.trace_instr else "CV32E40P"
2597
+ extra_plugin_config["tracePrinter"] = {}
2598
+ extra_plugin_config["tracePrinter"]["trace"] = trace
2599
+ extra_plugin_config["tracePrinter"]["stream.toFile"] = 1
2600
+ # extra_plugin_config["tracePrinter"]["outDir"] = "/tmp/perf_out/" # TODO: do not hardcode
2601
+ extra_plugin_config["tracePrinter"]["stream.outDir"] = "."
2602
+ extra_plugin_config["tracePrinter"]["stream.fileName"] = (
2603
+ "instr_trace" if self.trace_instr else "asm_trace"
2604
+ )
2605
+ extra_plugin_config["tracePrinter"]["stream.postfix"] = ".csv"
2606
+ extra_plugin_config["tracePrinter"]["rotateSize"] = 0x100000
2607
+ config.update({f"{target}.plugins": plugins_new})
2608
+ config.update({f"{target}.extra_plugin_config": extra_plugin_config})
2609
+
2610
+ def get_target_callbacks(self, target):
2611
+ assert target in ["etiss_perf"]
2612
+ if self.enabled:
2613
+
2614
+ def metrics_callback(stdout, metrics, artifacts, directory=None):
2615
+ """Callback for extracting perf metrics from stdout"""
2616
+ assert len(metrics) == 1
2617
+ if self.estimator:
2618
+ instrs_match = re.compile(r" >> Number of instructions: (\d+)").findall(stdout)
2619
+ assert instrs_match is not None
2620
+ assert len(instrs_match) == 1
2621
+ cycles_match = re.compile(r" >> Estimated number of processor cycles: (\d+)").findall(stdout)
2622
+ assert cycles_match is not None
2623
+ assert len(cycles_match) == 1
2624
+ cpi_match = re.compile(
2625
+ r" >> Estimated average number of processor cycles per instruction: (\d+?\.\d+)"
2626
+ ).findall(stdout)
2627
+ assert cpi_match is not None
2628
+ assert len(cpi_match) == 1
2629
+ metrics[0].add("PerfSim Instructions", int(instrs_match[0]))
2630
+ metrics[0].add("PerfSim Cycles", int(cycles_match[0]))
2631
+ metrics[0].add("PerfSim CPI", float(cpi_match[0]))
2632
+ if self.to_file:
2633
+ assert directory is not None
2634
+ assert self.core is not None
2635
+ csv_files = list(Path(directory).glob(f"{self.core.upper()}_*.csv"))
2636
+ if self.trace_asm:
2637
+ csv_files_ = list(Path(directory).glob("asm_trace_*.csv"))
2638
+ csv_files += csv_files_
2639
+ for file in csv_files:
2640
+ with open(file, "r") as f:
2641
+ content = f.read()
2642
+ artifact = Artifact(
2643
+ file.name,
2644
+ content=content,
2645
+ fmt=ArtifactFormat.TEXT,
2646
+ flags=(self.name, target),
2647
+ )
2648
+ artifacts.append(artifact)
2649
+ return stdout
2650
+
2651
+ return None, metrics_callback
2652
+ return None, None
@@ -72,7 +72,9 @@ class Backend(ABC):
72
72
  return features
73
73
 
74
74
  @abstractmethod
75
- def load_model(self, model, input_shapes=None, output_shapes=None, input_types=None, output_types=None):
75
+ def load_model(
76
+ self, model, input_shapes=None, output_shapes=None, input_types=None, output_types=None, params_path=None
77
+ ):
76
78
  pass
77
79
 
78
80
  @abstractmethod
@@ -42,7 +42,10 @@ class TFLMBackend(Backend):
42
42
  assert isinstance(cls.name, str)
43
43
  cls.registry[cls.name] = cls
44
44
 
45
- def load_model(self, model, input_shapes=None, output_shapes=None, input_types=None, output_types=None):
45
+ def load_model(
46
+ self, model, input_shapes=None, output_shapes=None, input_types=None, output_types=None, params_path=None
47
+ ):
48
+ assert params_path is None
46
49
  self.model = model
47
50
  ext = os.path.splitext(model)[1][1:]
48
51
  fmt = ModelFormats.from_extension(ext)