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 architecture featuring an on-chip cluster of RISC-V processors. Experiments show that using machine learning models on the source code to select the best energy scaling configuration automatically is viable and has the potential to be used in the context of automatic system configuration for energy minimisation.

Parisi E., Barchi F., Bartolini A., Tagliavini G., Acquaviva A. (2021). Source Code Classification for Energy Efficiency in Parallel Ultra Low-Power Microcontrollers. Los Alamitos : Institute of Electrical and Electronics Engineers Inc. [10.23919/DATE51398.2021.9474085].

Source Code Classification for Energy Efficiency in Parallel Ultra Low-Power Microcontrollers

Parisi E.
Co-primo
;
Barchi F.
Co-primo
;
Bartolini A.;Tagliavini G.;Acquaviva A.
2021

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 architecture featuring an on-chip cluster of RISC-V processors. Experiments show that using machine learning models on the source code to select the best energy scaling configuration automatically is viable and has the potential to be used in the context of automatic system configuration for energy minimisation.
2021
2021 Design, Automation & Test in Europe Conference & Exhibition (DATE)
878
883
Parisi E., Barchi F., Bartolini A., Tagliavini G., Acquaviva A. (2021). Source Code Classification for Energy Efficiency in Parallel Ultra Low-Power Microcontrollers. Los Alamitos : Institute of Electrical and Electronics Engineers Inc. [10.23919/DATE51398.2021.9474085].
Parisi E.; Barchi F.; Bartolini A.; Tagliavini G.; Acquaviva A.
File in questo prodotto:
File Dimensione Formato  
p2021_source_code_classification.pdf

Open Access dal 17/01/2023

Tipo: Postprint
Licenza: Licenza per accesso libero gratuito
Dimensione 391.13 kB
Formato Adobe PDF
391.13 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/862765
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 2
social impact