Automatic compiler optimization on embedded software through k-means clustering

  • Michael Werner
  • , Lorenzo Servadei
  • , Robert Wille
  • , Wolfgang Ecker

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Generating instead of implementing variable design platforms is becoming increasingly popular in the development of System on Chips. This shift also poses the challenge of rapid compiler optimization that adapts to each newly generated platform. In this paper, we evaluate the impact of 104 compiler flags on memory usage and core execution time against standard optimization levels. Each flag has a different influence on these costs, which is difficult to predict. In this work, we apply cost estimation methods to predict the impact of each flag on the generated core using unsupervised Machine Learning, in the form of k-means clustering. The key strengths of the approach are the low need for data, the adaptability to new cores, and the ease of use. This helps the designer to understand the impact of flags on related applications, showing which combination is optimizing the most. As a result, we can obtain 20,93% optimization on the software size, 3,10% on the performance, and 1,75% on their trade-off beyond the -O3 optimization.
Original languageEnglish
Title of host publicationWorkshop on Machine Learning for CAD (MLCAD)
Pages157-162
Number of pages6
ISBN (Electronic)9781450375191
DOIs
Publication statusPublished - 2020

Fields of science

  • 102 Computer Sciences
  • 202 Electrical Engineering, Electronics, Information Engineering

JKU Focus areas

  • Digital Transformation

Cite this