A Surrogate Optimization Method for Automatically Generating Greener Software Using LLVM

2023 3rd International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME)(2023)

引用 0|浏览4
暂无评分
摘要
Traditionally, computational hardware (HW) has undergone a quick evolution that, in recent years, was complemented with the arise of a large variety of architectures. Modifying software (SW) so that it can perform efficiently in these new platforms is a costly process, but necessary in many cases. Therefore, the development of novel methods to automatically adapt SW to efficiently perform in any HW architecture is required. However, this is a very complex and time consuming problem, as the impact of code optimizations on the performance of SW is unknown, with a strong dependence on (i) the other applied optimizations, (ii) the code to optimize, and (iii) the HW where it executes. In this work, we propose the Faevol framework, which makes use of evolutionary computation to find the best sequence of LLVM optimizations that maximizes the performance of a given SW on the underlying HW. The performance is measured in terms of both the run time and the energy consumption of the computer when executing the SW. Additionally, we develop two predictive models based on artificial neural networks to accurately estimate the impact of any sequence of LLVM optimizations on a SW code. These models are used in a surrogate version of Faevol in order to accelerate the optimization process. We demonstrate how incorporating the proposed predictive models for energy consumption and run time in Faevol leads to similar results as when actually running the SW to take performance measurements, with a considerably lower time demand.
更多
查看译文
关键词
LLVM,Software optimization,Artificial neural networks,Multi-objective optimization,Surrogate models
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要