tum-ei-eda / mlonmcu

Tool for the deployment and analysis of TinyML applications on TFLM and MicroTVM backends
Apache License 2.0
29 stars 13 forks source link

Draft: Introduce optional process pool feature to avoid GIL #154

Closed PhilippvK closed 4 months ago

PhilippvK commented 6 months ago

See #153 for more context

Summary of changes:

Limitations:

TODOs:

PhilippvK commented 6 months ago

I gave this a try using a benchmark I was performing recently.

process_pool, per_stage=1: not supported
process_pool, per_stage=0: 53s
thread_pool,  per_stage=1: 15m22s 
thread_pool,  per_stage=0: 5m28s

I got a speed up of 5x over the ThreadPoolExecutor version on a 18C/36T machine which is great.

Visualization: mlonmcu_ram_cpu_disk

Scripts used to generate this plots can be found here: https://github.com/PhilippvK/mlonmcu-monitoring

PhilippvK commented 4 months ago

This PR has been superseded by the feature-process-pool-new Branch