Source Code Classification for Energy Efficiency in Parallel Ultra Low-Power Microcontrollers
Emanuele Parisi, Francesco Barchi, Andrea Bartolini, Giuseppe, Tagliavini, Andrea Acquaviva

TL;DR
This paper explores using machine learning on source code features to predict optimal energy configurations in ultra-low-power, parallel RISC-V microcontrollers, aiming to automate energy-efficient system setup.
Contribution
It demonstrates that static compile-time source code features can effectively predict the best energy scaling configuration for PULP architectures, a novel approach in this domain.
Findings
Machine learning models can predict energy-efficient configurations.
Static code features are sufficient for accurate predictions.
Potential for automating energy minimization in embedded systems.
Abstract
The analysis of source code through machine learning techniques is an increasingly explored research topic aiming at increasing smartness in the software toolchain to exploit modern architectures in the best possible way. In the case of low-power, parallel embedded architectures, this means finding the configuration, for instance in terms of the number of cores, leading to minimum energy consumption. Depending on the kernel to be executed, the energy optimal scaling configuration is not trivial. While recent work has focused on general-purpose systems to learn and predict the best execution target in terms of the execution time of a snippet of code or kernel (e.g. offload OpenCL kernel on multicore CPU or GPU), in this work we focus on static compile-time features to assess if they can be successfully used to predict the minimum energy configuration on PULP, an ultra-low-power…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
