Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...
A Surrogate Optimization Method for Automatically Generating Greener Software Using LLVM
Ist Teil von
2023 3rd International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME), 2023, p.1-7
Ort / Verlag
IEEE
Erscheinungsjahr
2023
Link zum Volltext
Quelle
IEEE Xplore Digital Library
Beschreibungen/Notizen
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.