TY - GEN
T1 - Automatic compiler optimization on embedded software through k-means clustering
AU - Werner, Michael
AU - Servadei, Lorenzo
AU - Wille, Robert
AU - Ecker, Wolfgang
N1 - Publisher Copyright:
© 2020 Association for Computing Machinery.
PY - 2020/11/16
Y1 - 2020/11/16
N2 - Generating instead of implementing variable design platforms is becoming increasingly popular in the development of System on Chips (SoCs). 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 (ML), 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.
AB - Generating instead of implementing variable design platforms is becoming increasingly popular in the development of System on Chips (SoCs). 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 (ML), 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.
KW - Compiler exploration
KW - Embedded systems
KW - Kmean-clustering
KW - Model driven architecture
UR - http://www.scopus.com/inward/record.url?scp=85098261654&partnerID=8YFLogxK
U2 - 10.1145/3380446.3430631
DO - 10.1145/3380446.3430631
M3 - Conference contribution
AN - SCOPUS:85098261654
T3 - MLCAD 2020 - Proceedings of the 2020 ACM/IEEE Workshop on Machine Learning for CAD
SP - 157
EP - 162
BT - MLCAD 2020 - Proceedings of the 2020 ACM/IEEE Workshop on Machine Learning for CAD
PB - Association for Computing Machinery, Inc
T2 - 2nd ACM/IEEE Workshop on Machine Learning for CAD, MLCAD 2020
Y2 - 16 November 2020 through 20 November 2020
ER -