Automatic selection of compiler optimizations by machine learning
Date
Editor(s)
Advisor
Supervisor
Co-Advisor
Co-Supervisor
Instructor
BUIR Usage Stats
views
downloads
Citation Stats
Series
Abstract
Many widely used telecommunications applications have extremely long run times. Therefore, faster and more efficient execution of these codes on the same hardware is important in critical telecommunication applications such as base stations. Compilers greatly affect the properties of the executable program to be created. It is possible to change properties such as compilation speed, execution time, power consumption and code size using compiler flags. This study aims to find the set of flags that will provide the shortest run time among hundreds of compiler flag combinations in GCC using code flow analysis, loop analysis and machine learning methods without running the program.
Yaygın şekilde kullanılan birçok telekomünikasyon uygulaması oldukça uzun çalışma sürelerine sahiptir. Dolayısıyla, bu kodların aynı donanım üzerinde daha hızlı ve etkin çalıştırılabilmesi baz istasyonları gibi kritik telekomünikasyon uygulamalarında önem taşımaktadır. Derleyiciler oluşturulacak olan çalıştırılabilir programın özelliklerini büyük oranda etkilemektedir. Derleyici işaretleyicileri kullanılarak derleme hızı, çalışma hızı, güç tüketimi ve kod boyutu gibi özellikleri değiştirmek mümkündür. Bu çalışma, GCC içerisinde bulunan yüzlerce derleyici işaretleyicisinin içinden en kısa çalışma süresini sağlayacak olan işaretleyici kümesini programı çalıştırmadan kod akış analizi, döngü analizi ve makine öğrenmesi yöntemlerini kullanarak bulmayı hedeflemektedir.