mlonmcu 0.3.0.dev0__3-none-any.whl

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 (376) hide show
  1. mlonmcu/__init__.py +26 -0
  2. mlonmcu/artifact.py +172 -0
  3. mlonmcu/cli/__init__.py +19 -0
  4. mlonmcu/cli/build.py +119 -0
  5. mlonmcu/cli/cleanup.py +75 -0
  6. mlonmcu/cli/common.py +227 -0
  7. mlonmcu/cli/compile.py +87 -0
  8. mlonmcu/cli/env.py +68 -0
  9. mlonmcu/cli/export.py +93 -0
  10. mlonmcu/cli/flow.py +67 -0
  11. mlonmcu/cli/helper/__init__.py +18 -0
  12. mlonmcu/cli/helper/filter.py +25 -0
  13. mlonmcu/cli/helper/parse.py +159 -0
  14. mlonmcu/cli/init.py +130 -0
  15. mlonmcu/cli/load.py +87 -0
  16. mlonmcu/cli/main.py +116 -0
  17. mlonmcu/cli/models.py +48 -0
  18. mlonmcu/cli/run.py +56 -0
  19. mlonmcu/cli/setup.py +136 -0
  20. mlonmcu/cli/tune.py +48 -0
  21. mlonmcu/config.py +219 -0
  22. mlonmcu/context/__init__.py +22 -0
  23. mlonmcu/context/context.py +545 -0
  24. mlonmcu/context/read_write_filelock.py +327 -0
  25. mlonmcu/environment/__init__.py +18 -0
  26. mlonmcu/environment/config.py +214 -0
  27. mlonmcu/environment/environment.py +501 -0
  28. mlonmcu/environment/init.py +191 -0
  29. mlonmcu/environment/list.py +81 -0
  30. mlonmcu/environment/loader.py +250 -0
  31. mlonmcu/environment/templates.py +69 -0
  32. mlonmcu/environment/writer.py +117 -0
  33. mlonmcu/feature/__init__.py +18 -0
  34. mlonmcu/feature/feature.py +230 -0
  35. mlonmcu/feature/features.py +1537 -0
  36. mlonmcu/feature/type.py +33 -0
  37. mlonmcu/flow/__init__.py +61 -0
  38. mlonmcu/flow/backend.py +234 -0
  39. mlonmcu/flow/framework.py +69 -0
  40. mlonmcu/flow/tflm/__init__.py +23 -0
  41. mlonmcu/flow/tflm/backend/__init__.py +23 -0
  42. mlonmcu/flow/tflm/backend/backend.py +47 -0
  43. mlonmcu/flow/tflm/backend/tflmc.py +129 -0
  44. mlonmcu/flow/tflm/backend/tflmi.py +385 -0
  45. mlonmcu/flow/tflm/framework.py +81 -0
  46. mlonmcu/flow/tvm/__init__.py +23 -0
  47. mlonmcu/flow/tvm/backend/__init__.py +26 -0
  48. mlonmcu/flow/tvm/backend/backend.py +282 -0
  49. mlonmcu/flow/tvm/backend/model_info.py +307 -0
  50. mlonmcu/flow/tvm/backend/python_utils.py +36 -0
  51. mlonmcu/flow/tvm/backend/tuner.py +41 -0
  52. mlonmcu/flow/tvm/backend/tvmaot.py +162 -0
  53. mlonmcu/flow/tvm/backend/tvmaotplus.py +51 -0
  54. mlonmcu/flow/tvm/backend/tvmc_utils.py +172 -0
  55. mlonmcu/flow/tvm/backend/tvmcg.py +102 -0
  56. mlonmcu/flow/tvm/backend/tvmllvm.py +106 -0
  57. mlonmcu/flow/tvm/backend/tvmrt.py +151 -0
  58. mlonmcu/flow/tvm/backend/wrapper.py +645 -0
  59. mlonmcu/flow/tvm/framework.py +96 -0
  60. mlonmcu/logging.py +79 -0
  61. mlonmcu/mlonmcu.py +19 -0
  62. mlonmcu/models/__init__.py +31 -0
  63. mlonmcu/models/convert_data.py +107 -0
  64. mlonmcu/models/frontend.py +571 -0
  65. mlonmcu/models/group.py +29 -0
  66. mlonmcu/models/lookup.py +345 -0
  67. mlonmcu/models/metadata.py +133 -0
  68. mlonmcu/models/model.py +104 -0
  69. mlonmcu/models/options.py +64 -0
  70. mlonmcu/models/utils.py +136 -0
  71. mlonmcu/platform/__init__.py +27 -0
  72. mlonmcu/platform/_platform.py +46 -0
  73. mlonmcu/platform/espidf/__init__.py +25 -0
  74. mlonmcu/platform/espidf/espidf.py +489 -0
  75. mlonmcu/platform/espidf/espidf_target.py +257 -0
  76. mlonmcu/platform/lookup.py +126 -0
  77. mlonmcu/platform/microtvm/__init__.py +25 -0
  78. mlonmcu/platform/microtvm/microtvm.py +580 -0
  79. mlonmcu/platform/microtvm/microtvm_arduino_target.py +68 -0
  80. mlonmcu/platform/microtvm/microtvm_backend.py +64 -0
  81. mlonmcu/platform/microtvm/microtvm_espidf_target.py +94 -0
  82. mlonmcu/platform/microtvm/microtvm_etissvp_target.py +98 -0
  83. mlonmcu/platform/microtvm/microtvm_host_target.py +46 -0
  84. mlonmcu/platform/microtvm/microtvm_spike_target.py +230 -0
  85. mlonmcu/platform/microtvm/microtvm_target.py +189 -0
  86. mlonmcu/platform/microtvm/microtvm_template_target.py +55 -0
  87. mlonmcu/platform/microtvm/microtvm_zephyr_target.py +91 -0
  88. mlonmcu/platform/mlif/__init__.py +25 -0
  89. mlonmcu/platform/mlif/mlif.py +300 -0
  90. mlonmcu/platform/mlif/mlif_target.py +86 -0
  91. mlonmcu/platform/platform.py +244 -0
  92. mlonmcu/platform/tvm/__init__.py +25 -0
  93. mlonmcu/platform/tvm/tvm.py +429 -0
  94. mlonmcu/platform/tvm/tvm_backend.py +57 -0
  95. mlonmcu/platform/tvm/tvm_target.py +165 -0
  96. mlonmcu/platform/zephyr/__init__.py +25 -0
  97. mlonmcu/platform/zephyr/zephyr.py +450 -0
  98. mlonmcu/platform/zephyr/zephyr_target.py +110 -0
  99. mlonmcu/plugins.py +26 -0
  100. mlonmcu/report.py +99 -0
  101. mlonmcu/session/__init__.py +18 -0
  102. mlonmcu/session/postprocess/__init__.py +43 -0
  103. mlonmcu/session/postprocess/postprocess.py +62 -0
  104. mlonmcu/session/postprocess/postprocesses.py +487 -0
  105. mlonmcu/session/run.py +1008 -0
  106. mlonmcu/session/session.py +373 -0
  107. mlonmcu/setup/__init__.py +18 -0
  108. mlonmcu/setup/cache.py +147 -0
  109. mlonmcu/setup/gen_requirements.py +619 -0
  110. mlonmcu/setup/setup.py +285 -0
  111. mlonmcu/setup/task.py +380 -0
  112. mlonmcu/setup/tasks/__init__.py +40 -0
  113. mlonmcu/setup/tasks/arm_gcc.py +58 -0
  114. mlonmcu/setup/tasks/cmsisnn.py +151 -0
  115. mlonmcu/setup/tasks/common.py +36 -0
  116. mlonmcu/setup/tasks/corstone300.py +64 -0
  117. mlonmcu/setup/tasks/espidf.py +87 -0
  118. mlonmcu/setup/tasks/etiss.py +147 -0
  119. mlonmcu/setup/tasks/llvm.py +67 -0
  120. mlonmcu/setup/tasks/mlif.py +49 -0
  121. mlonmcu/setup/tasks/muriscvnn.py +166 -0
  122. mlonmcu/setup/tasks/pulp.py +192 -0
  123. mlonmcu/setup/tasks/riscv_gcc.py +146 -0
  124. mlonmcu/setup/tasks/spike.py +190 -0
  125. mlonmcu/setup/tasks/tf.py +92 -0
  126. mlonmcu/setup/tasks/tflite.py +59 -0
  127. mlonmcu/setup/tasks/tflmc.py +141 -0
  128. mlonmcu/setup/tasks/tvm.py +172 -0
  129. mlonmcu/setup/tasks/utvmcg.py +96 -0
  130. mlonmcu/setup/tasks/zephyr.py +119 -0
  131. mlonmcu/setup/utils.py +374 -0
  132. mlonmcu/target/__init__.py +37 -0
  133. mlonmcu/target/_target.py +41 -0
  134. mlonmcu/target/arm/__init__.py +3 -0
  135. mlonmcu/target/arm/corstone300.py +235 -0
  136. mlonmcu/target/arm/util.py +109 -0
  137. mlonmcu/target/common.py +194 -0
  138. mlonmcu/target/elf.py +256 -0
  139. mlonmcu/target/host_x86.py +84 -0
  140. mlonmcu/target/metrics.py +75 -0
  141. mlonmcu/target/riscv/__init__.py +7 -0
  142. mlonmcu/target/riscv/etiss_pulpino.py +462 -0
  143. mlonmcu/target/riscv/gvsoc_pulp.py +215 -0
  144. mlonmcu/target/riscv/ovpsim.py +301 -0
  145. mlonmcu/target/riscv/riscv.py +185 -0
  146. mlonmcu/target/riscv/riscv_qemu.py +166 -0
  147. mlonmcu/target/riscv/spike.py +243 -0
  148. mlonmcu/target/riscv/util.py +134 -0
  149. mlonmcu/target/target.py +200 -0
  150. mlonmcu/utils.py +49 -0
  151. mlonmcu/version.py +21 -0
  152. mlonmcu-0.3.0.dev0.dist-info/LICENSE +202 -0
  153. mlonmcu-0.3.0.dev0.dist-info/METADATA +343 -0
  154. mlonmcu-0.3.0.dev0.dist-info/NOTICE +8 -0
  155. mlonmcu-0.3.0.dev0.dist-info/RECORD +376 -0
  156. mlonmcu-0.3.0.dev0.dist-info/WHEEL +5 -0
  157. mlonmcu-0.3.0.dev0.dist-info/entry_points.txt +3 -0
  158. mlonmcu-0.3.0.dev0.dist-info/top_level.txt +1 -0
  159. resources/frameworks/tvm/crt_config/README.md +7 -0
  160. resources/frameworks/tvm/crt_config/crt_config.h +53 -0
  161. resources/frameworks/tvm/tuning_records/riscv_cpu_v0.01.log.best +46 -0
  162. resources/patches/fix_esp32c3_march.patch +20 -0
  163. resources/patches/pulp_freertos_support.patch +55 -0
  164. resources/platforms/espidf/micro_speech_esp32devboard/CMakeLists.txt +29 -0
  165. resources/platforms/espidf/micro_speech_esp32devboard/README.md +70 -0
  166. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/CMakeLists.txt +78 -0
  167. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/Kconfig +76 -0
  168. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_data.c +26 -0
  169. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_input.c +35 -0
  170. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/default_model_support/process_output.c +45 -0
  171. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/exit.h +26 -0
  172. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/ml_interface.h +70 -0
  173. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/include/printing.h +31 -0
  174. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface.c +74 -0
  175. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tflm.cc +64 -0
  176. resources/platforms/espidf/micro_speech_esp32devboard/components/mlif2/ml_interface_tvm.c +53 -0
  177. resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/CMakeLists.txt +140 -0
  178. resources/platforms/espidf/micro_speech_esp32devboard/components/tflite-lib/Kconfig +8 -0
  179. resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/CMakeLists.txt +66 -0
  180. resources/platforms/espidf/micro_speech_esp32devboard/components/tvm-lib/Kconfig +7 -0
  181. resources/platforms/espidf/micro_speech_esp32devboard/example_test.py +38 -0
  182. resources/platforms/espidf/micro_speech_esp32devboard/info.txt +9 -0
  183. resources/platforms/espidf/micro_speech_esp32devboard/main/CMakeLists.txt +58 -0
  184. resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.cc +193 -0
  185. resources/platforms/espidf/micro_speech_esp32devboard/main/audio_provider.h +49 -0
  186. resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.cc +53 -0
  187. resources/platforms/espidf/micro_speech_esp32devboard/main/command_responder.h +35 -0
  188. resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc +132 -0
  189. resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.cc.orig +145 -0
  190. resources/platforms/espidf/micro_speech_esp32devboard/main/feature_provider.h +55 -0
  191. resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/COPYING +11 -0
  192. resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/_kiss_fft_guts.h +168 -0
  193. resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.c +408 -0
  194. resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/kiss_fft.h +124 -0
  195. resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.c +159 -0
  196. resources/platforms/espidf/micro_speech_esp32devboard/main/kissfft/tools/kiss_fftr.h +46 -0
  197. resources/platforms/espidf/micro_speech_esp32devboard/main/main.cc +63 -0
  198. resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.cc +204 -0
  199. resources/platforms/espidf/micro_speech_esp32devboard/main/main_functions.h +37 -0
  200. resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.cc +121 -0
  201. resources/platforms/espidf/micro_speech_esp32devboard/main/micro_features_generator.h +38 -0
  202. resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.cc +23 -0
  203. resources/platforms/espidf/micro_speech_esp32devboard/main/micro_model_settings.h +43 -0
  204. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/bits.h +102 -0
  205. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.cc +52 -0
  206. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft.h +50 -0
  207. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.cc +69 -0
  208. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/fft_util.h +34 -0
  209. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.c +134 -0
  210. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank.h +63 -0
  211. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.c +220 -0
  212. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/filterbank_util.h +50 -0
  213. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.c +72 -0
  214. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend.h +64 -0
  215. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.c +85 -0
  216. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/frontend_util.h +52 -0
  217. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_common.h +48 -0
  218. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.cc +8 -0
  219. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/kiss_fft_int16.h +34 -0
  220. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.c +30 -0
  221. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_lut.h +40 -0
  222. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.c +83 -0
  223. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale.h +39 -0
  224. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.c +27 -0
  225. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/log_scale_util.h +45 -0
  226. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.c +51 -0
  227. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction.h +46 -0
  228. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.c +45 -0
  229. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/noise_reduction_util.h +50 -0
  230. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.c +56 -0
  231. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control.h +47 -0
  232. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.c +92 -0
  233. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/pcan_gain_control_util.h +57 -0
  234. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.c +70 -0
  235. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window.h +49 -0
  236. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.c +73 -0
  237. resources/platforms/espidf/micro_speech_esp32devboard/main/microfrontend/lib/window_util.h +45 -0
  238. resources/platforms/espidf/micro_speech_esp32devboard/main/pins.c +14 -0
  239. resources/platforms/espidf/micro_speech_esp32devboard/main/pins.h +30 -0
  240. resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.cc +150 -0
  241. resources/platforms/espidf/micro_speech_esp32devboard/main/recognize_commands.h +173 -0
  242. resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.c +333 -0
  243. resources/platforms/espidf/micro_speech_esp32devboard/main/ringbuf.h +74 -0
  244. resources/platforms/espidf/micro_speech_esp32devboard/sdkconfig.defaults +36 -0
  245. resources/platforms/espidf/project/CMakeLists.txt +29 -0
  246. resources/platforms/espidf/project/README.md +70 -0
  247. resources/platforms/espidf/project/components/mlif/CMakeLists.txt +77 -0
  248. resources/platforms/espidf/project/components/mlif/Kconfig +76 -0
  249. resources/platforms/espidf/project/components/mlif/default_data.c +26 -0
  250. resources/platforms/espidf/project/components/mlif/default_model_support/process_input.c +35 -0
  251. resources/platforms/espidf/project/components/mlif/default_model_support/process_output.c +45 -0
  252. resources/platforms/espidf/project/components/mlif/include/exit.h +26 -0
  253. resources/platforms/espidf/project/components/mlif/include/ml_interface.h +60 -0
  254. resources/platforms/espidf/project/components/mlif/include/printing.h +31 -0
  255. resources/platforms/espidf/project/components/mlif/ml_interface.c +54 -0
  256. resources/platforms/espidf/project/components/mlif/ml_interface_tflm.cc +40 -0
  257. resources/platforms/espidf/project/components/mlif/ml_interface_tvm.c +40 -0
  258. resources/platforms/espidf/project/components/tflite-lib/CMakeLists.txt +142 -0
  259. resources/platforms/espidf/project/components/tflite-lib/Kconfig +8 -0
  260. resources/platforms/espidf/project/components/tvm-lib/CMakeLists.txt +66 -0
  261. resources/platforms/espidf/project/components/tvm-lib/Kconfig +7 -0
  262. resources/platforms/espidf/project/example_test.py +38 -0
  263. resources/platforms/espidf/project/main/CMakeLists.txt +25 -0
  264. resources/platforms/espidf/project/main/main.c +57 -0
  265. resources/platforms/espidf/project/sdkconfig.defaults +26 -0
  266. resources/platforms/zephyr/project/CMakeLists.txt +22 -0
  267. resources/platforms/zephyr/project/Kconfig +101 -0
  268. resources/platforms/zephyr/project/README.rst +33 -0
  269. resources/platforms/zephyr/project/cmake/AddAllSubdirs.cmake +21 -0
  270. resources/platforms/zephyr/project/cmake/ChooseTarget.cmake +22 -0
  271. resources/platforms/zephyr/project/cmake/LinkTFLite.cmake +223 -0
  272. resources/platforms/zephyr/project/cmake/LinkTVM.cmake +68 -0
  273. resources/platforms/zephyr/project/cmake/LookupClang.cmake +41 -0
  274. resources/platforms/zephyr/project/cmake/backends/tflmc.cmake +5 -0
  275. resources/platforms/zephyr/project/cmake/backends/tflmi.cmake +5 -0
  276. resources/platforms/zephyr/project/cmake/backends/tvmaot.cmake +10 -0
  277. resources/platforms/zephyr/project/cmake/backends/tvmaotplus.cmake +10 -0
  278. resources/platforms/zephyr/project/cmake/backends/tvmcg.cmake +10 -0
  279. resources/platforms/zephyr/project/cmake/backends/tvmllvm.cmake +8 -0
  280. resources/platforms/zephyr/project/cmake/backends/tvmrt.cmake +8 -0
  281. resources/platforms/zephyr/project/cmake/extras.cmake +9 -0
  282. resources/platforms/zephyr/project/cmake/features/auto_vectorize_gcc.cmake +65 -0
  283. resources/platforms/zephyr/project/cmake/features/auto_vectorize_llvm.cmake +20 -0
  284. resources/platforms/zephyr/project/cmake/features/cmsisnn.cmake +86 -0
  285. resources/platforms/zephyr/project/cmake/features/muriscvnn.cmake +87 -0
  286. resources/platforms/zephyr/project/cmake/frameworks/tflm.cmake +1 -0
  287. resources/platforms/zephyr/project/cmake/frameworks/tflm_mlif.cmake +8 -0
  288. resources/platforms/zephyr/project/cmake/frameworks/tvm.cmake +1 -0
  289. resources/platforms/zephyr/project/cmake/frameworks/tvm_mlif.cmake +37 -0
  290. resources/platforms/zephyr/project/lib/CMakeLists.txt +13 -0
  291. resources/platforms/zephyr/project/lib/drivers/fake_input.c +10 -0
  292. resources/platforms/zephyr/project/lib/drivers/fake_input.h +8 -0
  293. resources/platforms/zephyr/project/lib/ml_interface/CMakeLists.txt +31 -0
  294. resources/platforms/zephyr/project/lib/ml_interface/default_data.c +8 -0
  295. resources/platforms/zephyr/project/lib/ml_interface/default_model_support/CMakeLists.txt +2 -0
  296. resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_input.c +17 -0
  297. resources/platforms/zephyr/project/lib/ml_interface/default_model_support/process_output.c +27 -0
  298. resources/platforms/zephyr/project/lib/ml_interface/ml_interface.c +36 -0
  299. resources/platforms/zephyr/project/lib/ml_interface/ml_interface.h +47 -0
  300. resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tflm.cc +22 -0
  301. resources/platforms/zephyr/project/lib/ml_interface/ml_interface_tvm.c +22 -0
  302. resources/platforms/zephyr/project/lib/support/CMakeLists.txt +2 -0
  303. resources/platforms/zephyr/project/lib/support/dummy.c +0 -0
  304. resources/platforms/zephyr/project/lib/support/exit.h +8 -0
  305. resources/platforms/zephyr/project/lib/support/printing.h +11 -0
  306. resources/platforms/zephyr/project/lib/support/quantize.h +23 -0
  307. resources/platforms/zephyr/project/lib/targets/corstone300.c +62 -0
  308. resources/platforms/zephyr/project/lib/targets/default.c +2 -0
  309. resources/platforms/zephyr/project/lib/targets/etiss_pulpino.c +112 -0
  310. resources/platforms/zephyr/project/lib/targets/generic_riscv.c +112 -0
  311. resources/platforms/zephyr/project/lib/targets/riscv_qemu.c +112 -0
  312. resources/platforms/zephyr/project/lib/targets/target.h +2 -0
  313. resources/platforms/zephyr/project/prj.conf +11 -0
  314. resources/platforms/zephyr/project/sample.yaml +19 -0
  315. resources/platforms/zephyr/project/src/main.c +71 -0
  316. resources/platforms/zephyr/project2/CMakeLists.txt +72 -0
  317. resources/platforms/zephyr/project2/Kconfig +101 -0
  318. resources/platforms/zephyr/project2/README.rst +33 -0
  319. resources/platforms/zephyr/project2/cmake/AddAllSubdirs.cmake +21 -0
  320. resources/platforms/zephyr/project2/cmake/ChooseTarget.cmake +22 -0
  321. resources/platforms/zephyr/project2/cmake/LinkTFLite.cmake +223 -0
  322. resources/platforms/zephyr/project2/cmake/LinkTVM.cmake +68 -0
  323. resources/platforms/zephyr/project2/cmake/LookupClang.cmake +41 -0
  324. resources/platforms/zephyr/project2/cmake/backends/tflmc.cmake +5 -0
  325. resources/platforms/zephyr/project2/cmake/backends/tflmi.cmake +5 -0
  326. resources/platforms/zephyr/project2/cmake/backends/tvmaot.cmake +10 -0
  327. resources/platforms/zephyr/project2/cmake/backends/tvmaotplus.cmake +10 -0
  328. resources/platforms/zephyr/project2/cmake/backends/tvmcg.cmake +10 -0
  329. resources/platforms/zephyr/project2/cmake/backends/tvmllvm.cmake +8 -0
  330. resources/platforms/zephyr/project2/cmake/backends/tvmrt.cmake +8 -0
  331. resources/platforms/zephyr/project2/cmake/extras.cmake +9 -0
  332. resources/platforms/zephyr/project2/cmake/features/auto_vectorize_gcc.cmake +65 -0
  333. resources/platforms/zephyr/project2/cmake/features/auto_vectorize_llvm.cmake +20 -0
  334. resources/platforms/zephyr/project2/cmake/features/cmsisnn.cmake +86 -0
  335. resources/platforms/zephyr/project2/cmake/features/muriscvnn.cmake +87 -0
  336. resources/platforms/zephyr/project2/cmake/frameworks/tflm.cmake +1 -0
  337. resources/platforms/zephyr/project2/cmake/frameworks/tflm_mlif.cmake +8 -0
  338. resources/platforms/zephyr/project2/cmake/frameworks/tvm.cmake +1 -0
  339. resources/platforms/zephyr/project2/cmake/frameworks/tvm_mlif.cmake +37 -0
  340. resources/platforms/zephyr/project2/default_data.c +8 -0
  341. resources/platforms/zephyr/project2/default_model_support/CMakeLists.txt +3 -0
  342. resources/platforms/zephyr/project2/default_model_support/process_input.c +17 -0
  343. resources/platforms/zephyr/project2/default_model_support/process_output.c +27 -0
  344. resources/platforms/zephyr/project2/lib/CMakeLists.txt +13 -0
  345. resources/platforms/zephyr/project2/lib/drivers/fake_input.c +10 -0
  346. resources/platforms/zephyr/project2/lib/drivers/fake_input.h +8 -0
  347. resources/platforms/zephyr/project2/lib/support/CMakeLists.txt +2 -0
  348. resources/platforms/zephyr/project2/lib/support/dummy.c +0 -0
  349. resources/platforms/zephyr/project2/lib/support/exit.h +8 -0
  350. resources/platforms/zephyr/project2/lib/support/printing.h +11 -0
  351. resources/platforms/zephyr/project2/lib/support/quantize.h +23 -0
  352. resources/platforms/zephyr/project2/lib/targets/corstone300.c +62 -0
  353. resources/platforms/zephyr/project2/lib/targets/default.c +2 -0
  354. resources/platforms/zephyr/project2/lib/targets/etiss_pulpino.c +112 -0
  355. resources/platforms/zephyr/project2/lib/targets/generic_riscv.c +112 -0
  356. resources/platforms/zephyr/project2/lib/targets/riscv_qemu.c +112 -0
  357. resources/platforms/zephyr/project2/lib/targets/target.h +2 -0
  358. resources/platforms/zephyr/project2/ml_interface.c +36 -0
  359. resources/platforms/zephyr/project2/ml_interface.h +47 -0
  360. resources/platforms/zephyr/project2/ml_interface_tflm.cc +22 -0
  361. resources/platforms/zephyr/project2/ml_interface_tvm.c +22 -0
  362. resources/platforms/zephyr/project2/prj.conf +13 -0
  363. resources/platforms/zephyr/project2/sample.yaml +19 -0
  364. resources/platforms/zephyr/project2/settings.json +6 -0
  365. resources/platforms/zephyr/project2/src/main.c +35 -0
  366. resources/pycharm/.run/README.md +73 -0
  367. resources/pycharm/.run/step1_ init env.run.xml +24 -0
  368. resources/pycharm/.run/step2_ setup.run.xml +25 -0
  369. resources/pycharm/.run/step3_ run resnet on pulpxpulpissimo.run.xml +25 -0
  370. resources/templates/default.yml.j2 +258 -0
  371. resources/templates/dev.yml.j2 +212 -0
  372. resources/templates/minimal.yml.j2 +234 -0
  373. resources/templates/phi.yml.j2 +282 -0
  374. resources/templates/pulp.yml.j2 +267 -0
  375. resources/templates/research.yml.j2 +237 -0
  376. resources/templates/tumeda.yml.j2 +239 -0
@@ -0,0 +1,237 @@
1
+ ---
2
+ # The MLONMCU_HOME is filled in automatically when creating the environment
3
+ home: "{{ home_dir }}"
4
+ logging:
5
+ level: DEBUG
6
+ to_file: false
7
+ rotate: false
8
+ cleanup:
9
+ auto: false
10
+ keep: 50
11
+ # Default locations for certain directoriescan be changed here
12
+ # Non-absolute paths will always be threated relative to the MLONMCU_HOME
13
+ paths:
14
+ # Where the dependencies are downloaded and installed
15
+ deps: deps
16
+ # If logging to file is used keep logs in this directory
17
+ logs: logs
18
+ # Location where reports and artifacts are written to
19
+ results: results
20
+ # Directory where custom extensions can be integrated
21
+ plugins: plugins
22
+ # Directory for intermediate build products, should be located on a large enough drive
23
+ temp: temp
24
+ # A collection of models which will be used to look for models
25
+ # The paths will be checked in the order defined here stopping at the first match
26
+ # Non-existant paths will be skipped without throwing an error
27
+ models:
28
+ - "{{ home_dir }}/models"
29
+ - "{{ config_dir }}/models"
30
+ # Here default clone_urls
31
+ repos:
32
+ tensorflow: # TODO: rename to tflite-micro?
33
+ url: "git@github.com:tensorflow/tflite-micro.git"
34
+ ref: feature-latest-tflite-micro
35
+ tflite_micro_compiler:
36
+ url: "git@github.com:PhilippvK/tflite_micro_compiler.git"
37
+ ref: philippvk_new
38
+ tvm:
39
+ url: "git@github.com:PhilippvK/tvm.git"
40
+ ref: feature-etiss-autotune-backup-rebased
41
+ utvm_staticrt_codegen:
42
+ url: "git@github.com:tum-ei-eda/utvm_staticrt_codegen.git"
43
+ ref: master
44
+ tvm_extensions:
45
+ url: "git@github.com:tum-ei-eda/tvm_extensions.git"
46
+ ref: main
47
+ etiss:
48
+ url: "git@github.com:PhilippvK/etiss.git"
49
+ ref: feature-clint-plic-uart
50
+ muriscvnn:
51
+ url: "git@github.com:fabianpedd/muriscv_nn.git"
52
+ ref: main
53
+ packer:
54
+ url: "git@gitlab.lrz.de:de-tum-ei-eda-esl/tflite-pack.git"
55
+ ref: main
56
+ spike:
57
+ url: "git@github.com:riscv-software-src/riscv-isa-sim.git"
58
+ ref: master
59
+ spikepk:
60
+ url: "git@github.com:riscv-software-src/riscv-pk.git"
61
+ ref: master
62
+ cmsis:
63
+ url: "https://github.com/PhilippvK/CMSIS_5.git"
64
+ ref: tumeda-patches-new
65
+ mlif:
66
+ url: "git@github.com:tum-ei-eda/mlonmcu-sw.git"
67
+ ref: main
68
+ espidf:
69
+ url: "https://github.com/espressif/esp-idf.git"
70
+ ref: release/v4.4
71
+ microtvm_etissvp:
72
+ url: "git@github.com:PhilippvK/microtvm-etissvp-template.git"
73
+ ref: main
74
+
75
+ # Here all supported frameworks with their specific features are defined
76
+ # Optionally disable unwanted or incomatible backends or features here
77
+ # The configured defaults are used if no backend was specified in the command line options
78
+ frameworks:
79
+ default: tvm
80
+ tflm:
81
+ enabled: true
82
+ backends:
83
+ default: tflmi
84
+ tflmc:
85
+ enabled: false
86
+ tflmi:
87
+ enabled: true
88
+ features:
89
+ debug_arena: true
90
+ features:
91
+ muriscvnn: true
92
+ cmsisnn: true
93
+ tvm:
94
+ enabled: true
95
+ backends:
96
+ default: tvmaot
97
+ tvmrt:
98
+ enabled: true
99
+ features:
100
+ debug_arena: true
101
+ disable_legalize: true
102
+ autotune: true
103
+ autotuned: true
104
+ tvmaot:
105
+ enabled: true
106
+ features:
107
+ debug_arena: true
108
+ unpacked_api: true
109
+ usmp: true
110
+ disable_legalize: true
111
+ autotune: true
112
+ autotuned: true
113
+ tvmllvm:
114
+ enabled: true
115
+ features:
116
+ # unpacked_api: true
117
+ disable_legalize: true
118
+ autotune: true
119
+ autotuned: true
120
+ tvmcg:
121
+ enabled: true
122
+ features:
123
+ debug_arena: true
124
+ disable_legalize: true
125
+ autotune: true
126
+ autotuned: true
127
+ features:
128
+ cmsisnnbyoc: true
129
+ muriscvnnbyoc: true
130
+ # Some frontends are eperimental and therefore disabled here
131
+ # Features like packing are only available in certain environments
132
+ #
133
+ frontends:
134
+ tflite:
135
+ enabled: true
136
+ features:
137
+ validate: true
138
+ visualize: true
139
+ relay:
140
+ enabled: true
141
+ features:
142
+ relayviz: true
143
+ packed:
144
+ enabled: false
145
+ features:
146
+ packing: true
147
+ packed: true
148
+ onnx:
149
+ enabled: false
150
+ # TODO: saved_model (TF->TFLITE), ipynb (IPYNB->?)
151
+ # Some targets/platforms support multiple toolchains
152
+ toolchains:
153
+ gcc: true
154
+ llvm: true
155
+ # Platform extend the number of supported targets
156
+ platforms:
157
+ mlif:
158
+ enabled: true
159
+ features:
160
+ debug: true
161
+ validate: true
162
+ espidf:
163
+ enabled: true
164
+ features:
165
+ debug: true
166
+ zephyr:
167
+ enabled: false
168
+ features:
169
+ debug: true
170
+ tvm:
171
+ enabled: true
172
+ features: []
173
+ # rpc: true
174
+ # validate: true
175
+ microtvm:
176
+ enabled: true
177
+ features: []
178
+ # validate: true
179
+ # List of supported targets in the environment
180
+ targets:
181
+ default: etiss_pulpino
182
+ etiss_pulpino:
183
+ enabled: true
184
+ features:
185
+ gdbserver: true
186
+ etissdbg: true
187
+ trace: true
188
+ log_instrs: true
189
+ # vext: true
190
+ # pext: true
191
+ host_x86:
192
+ enabled: true
193
+ features:
194
+ gdbserver: true
195
+ spike:
196
+ enabled: true
197
+ features:
198
+ # vext: true
199
+ # pext: true
200
+ cachesim: true
201
+ log_instrs: true
202
+ ovpsim:
203
+ enabled: true
204
+ features: []
205
+ # vext: true
206
+ # pext: true
207
+ corstone300:
208
+ enabled: true
209
+ features:
210
+ ethosu: false
211
+ arm_mvei: true
212
+ arm_dsp: true
213
+ microtvm_etissvp:
214
+ enabled: true
215
+ microtvm_espidf:
216
+ enabled: false
217
+ postprocesses:
218
+ use:
219
+ # - detailed_cycles
220
+ # - average_cycles
221
+ # - filter_cols
222
+ # - features2cols
223
+ # - config2cols
224
+ # - bytes2kb
225
+ # - visualize
226
+ # This is where further options such as specific versions of dependencies can be set in the furture
227
+ vars:
228
+ allow_extensions: false
229
+ # tvm.make_tool: "ninja"
230
+ llvm.version: "11.1.0"
231
+ runs_per_stage: true
232
+ riscv_gcc.dl_url: "https://syncandshare.lrz.de/dl/fiD9HnHYkb2V8kNbVQYv242m/rv32gc.tar.gz"
233
+ riscv_gcc.dl_url_vext: "https://syncandshare.lrz.de/dl/fiGp4r3f6SZaC5QyDi6QUiNQ/rv32gcv_new.tar.gz"
234
+ riscv_gcc.dl_url_pext: "https://syncandshare.lrz.de/dl/fiNvP4mzVQ8uDvgT9Yf2bqNk/rv32gcp.tar.xz"
235
+ flags:
236
+ tflmc.exe:
237
+ - x86
@@ -0,0 +1,239 @@
1
+ ---
2
+ # The MLONMCU_HOME is filled in automatically when creating the environment
3
+ home: "{{ home_dir }}"
4
+ logging:
5
+ level: DEBUG
6
+ to_file: false
7
+ rotate: false
8
+ cleanup:
9
+ auto: true
10
+ keep: 50
11
+ # Default locations for certain directoriescan be changed here
12
+ # Non-absolute paths will always be threated relative to the MLONMCU_HOME
13
+ paths:
14
+ # Where the dependencies are downloaded and installed
15
+ deps: deps
16
+ # If logging to file is used keep logs in this directory
17
+ logs: logs
18
+ # Location where reports and artifacts are written to
19
+ results: results
20
+ # Directory where custom extensions can be integrated
21
+ plugins: plugins
22
+ # Directory for intermediate build products, should be located on a large enough drive
23
+ temp: temp
24
+ # A collection of models which will be used to look for models
25
+ # The paths will be checked in the order defined here stopping at the first match
26
+ # Non-existant paths will be skipped without throwing an error
27
+ models:
28
+ - "{{ home_dir }}/models"
29
+ - "{{ config_dir }}/models"
30
+ # Here default clone_urls
31
+ repos:
32
+ tensorflow: # TODO: rename to tflite-micro?
33
+ url: "git@gitlab.lrz.de:de-tum-ei-eda-esl/tflite-micro.git"
34
+ ref: feature/tflmc_support2
35
+ tflite_micro_compiler:
36
+ url: "git@gitlab.lrz.de:philippvk/tflite_micro_compiler.git"
37
+ ref: philippvk_new2
38
+ tvm:
39
+ url: "git@github.com:rafzi/privtvm.git"
40
+ ref: moiopt
41
+ utvm_staticrt_codegen:
42
+ url: "git@github.com:tum-ei-eda/utvm_staticrt_codegen.git"
43
+ ref: master
44
+ tvm_extensions:
45
+ url: "git@github.com:tum-ei-eda/tvm_extensions.git"
46
+ ref: main
47
+ muriscvnn:
48
+ url: "git@github.com:tum-ei-eda/muriscv-nn.git"
49
+ ref: master
50
+ etiss:
51
+ url: "git@github.com:tum-ei-eda/etiss.git"
52
+ ref: master
53
+ packer:
54
+ url: "git@gitlab.lrz.de:de-tum-ei-eda-esl/tflite-pack.git"
55
+ ref: main
56
+ spike:
57
+ url: "https://github.com/riscv-software-src/riscv-isa-sim.git"
58
+ ref: caf5a420ef7414031368739e16d60f3f418aa6ac
59
+ spikepk:
60
+ url: "https://github.com/riscv-software-src/riscv-pk.git"
61
+ ref: 2efabd3e6604b8a9e8f70baf52f57696680c7855
62
+ cmsis:
63
+ url: "https://github.com/PhilippvK/CMSIS_5.git"
64
+ ref: 21c549c7fdd4f92fb5a16e98212fb9b4df2ab672
65
+ mlif:
66
+ url: "git@github.com:tum-ei-eda/mlonmcu-sw.git"
67
+ ref: 3f8e66b956fe1cf0d85a18d39d684816e92e2751
68
+ espidf:
69
+ url: "https://github.com/espressif/esp-idf.git"
70
+ ref: release/v4.4
71
+ microtvm_etissvp:
72
+ url: "git@github.com:PhilippvK/microtvm-etissvp-template.git"
73
+ ref: 41e591ea5479484154598fa74e3d7097ded3da86
74
+
75
+ # Here all supported frameworks with their specific features are defined
76
+ # Optionally disable unwanted or incomatible backends or features here
77
+ # The configured defaults are used if no backend was specified in the command line options
78
+ frameworks:
79
+ default: tvm
80
+ tflm:
81
+ enabled: true
82
+ backends:
83
+ default: tflmi
84
+ tflmc:
85
+ enabled: true
86
+ tflmi:
87
+ enabled: true
88
+ features:
89
+ debug_arena: true
90
+ features:
91
+ muriscvnn: true
92
+ cmsisnn: true
93
+ tvm:
94
+ enabled: true
95
+ backends:
96
+ default: tvmaot
97
+ tvmrt:
98
+ enabled: true
99
+ features:
100
+ debug_arena: true
101
+ disable_legalize: true
102
+ autotune: true
103
+ autotuned: true
104
+ moiopt: true
105
+ tvmaot:
106
+ enabled: true
107
+ features:
108
+ debug_arena: true
109
+ unpacked_api: true
110
+ usmp: false
111
+ disable_legalize: true
112
+ autotune: true
113
+ autotuned: true
114
+ moiopt: true
115
+ tvmllvm:
116
+ enabled: false
117
+ features:
118
+ # unpacked_api: true
119
+ disable_legalize: true
120
+ autotune: true
121
+ autotuned: true
122
+ tvmcg:
123
+ enabled: true
124
+ features:
125
+ debug_arena: true
126
+ disable_legalize: true
127
+ autotune: true
128
+ autotuned: true
129
+ features:
130
+ cmsisnnbyoc: true
131
+ muriscvnnbyoc: true
132
+ # Some frontends are experimental and therefore disabled here
133
+ # Features like packing are only available in certain environments
134
+ #
135
+ frontends:
136
+ tflite:
137
+ enabled: true
138
+ features:
139
+ validate: true
140
+ visualize: true
141
+ relay:
142
+ enabled: false
143
+ features:
144
+ relayviz: true
145
+ packed:
146
+ enabled: false
147
+ features:
148
+ packing: true
149
+ packed: true
150
+ onnx:
151
+ enabled: false
152
+ # TODO: saved_model (TF->TFLITE), ipynb (IPYNB->?)
153
+ # Some targets/platforms support multiple toolchains
154
+ toolchains:
155
+ gcc: true
156
+ llvm: true
157
+ # Platform extend the number of supported targets
158
+ platforms:
159
+ mlif:
160
+ enabled: true
161
+ features:
162
+ debug: true
163
+ validate: true
164
+ espidf:
165
+ enabled: false
166
+ features:
167
+ debug: true
168
+ zephyr:
169
+ enabled: false
170
+ features:
171
+ debug: true
172
+ tvm:
173
+ enabled: false
174
+ features: []
175
+ # rpc: true
176
+ # validate: true
177
+ microtvm:
178
+ enabled: false
179
+ features: []
180
+ # validate: true
181
+ # List of supported targets in the environment
182
+ targets:
183
+ default: etiss_pulpino
184
+ etiss_pulpino:
185
+ enabled: true
186
+ features:
187
+ gdbserver: true
188
+ etissdbg: true
189
+ trace: true
190
+ log_instrs: true
191
+ # vext: true
192
+ # pext: true
193
+ host_x86:
194
+ enabled: true
195
+ features:
196
+ gdbserver: true
197
+ spike:
198
+ enabled: true
199
+ features:
200
+ vext: true
201
+ pext: true
202
+ cachesim: true
203
+ log_instrs: true
204
+ ovpsim:
205
+ enabled: false
206
+ features:
207
+ vext: true
208
+ pext: true
209
+ corstone300:
210
+ enabled: true
211
+ features:
212
+ ethosu: false
213
+ arm_mvei: false
214
+ arm_dsp: true
215
+ microtvm_etissvp:
216
+ enabled: true
217
+ microtvm_espidf:
218
+ enabled: false
219
+ postprocesses:
220
+ use:
221
+ # - detailed_cycles
222
+ # - average_cycles
223
+ # - filter_cols
224
+ # - features2cols
225
+ # - config2cols
226
+ # - bytes2kb
227
+ # - visualize
228
+ # This is where further options such as specific versions of dependencies can be set in the furture
229
+ vars:
230
+ allow_extensions: false
231
+ # tvm.make_tool: "ninja"
232
+ llvm.version: "14.0.0"
233
+ runs_per_stage: true
234
+ riscv_gcc.dl_url: "https://syncandshare.lrz.de/dl/fiD9HnHYkb2V8kNbVQYv242m/rv32gc.tar.gz"
235
+ riscv_gcc.dl_url_vext: "https://syncandshare.lrz.de/dl/fiGp4r3f6SZaC5QyDi6QUiNQ/rv32gcv_new.tar.gz"
236
+ riscv_gcc.dl_url_pext: "https://syncandshare.lrz.de/dl/fiNvP4mzVQ8uDvgT9Yf2bqNk/rv32gcp.tar.xz"
237
+ flags:
238
+ tflmc.exe:
239
+ - x86