Use of genetic algorithms in adaptive compilers for cross-platform optimization

Loading...
Thumbnail Image

Date

Journal Title

Journal ISSN

Volume Title

Publisher

Національний університет "Запорізька політехніка"

Abstract

EN: Context. Modern software is developed under conditions of continuously increasing complexity of computing systems. Today, developers must consider a vast diversity of platforms, ranging from resource-constrained mobile devices to servers with high-performance processors and specialized architectures such as GPUs, FPGAs and even quantum computers. This heterogeneity requires software to operate efficiently across various hardware platforms. However, portability remains one of the most challenging tasks, especially when high performance is required. One of the promising directions to address this problem is the use of adaptive compilers that can automatically optimize code for different architectures. This approach allows developers to focus on the functional part of the software, minimizing the effort spent on optimization and configuration. Genetic algorithms (GAs) play a special role among the methods used to create adaptive compilers. These are powerful evolutionary techniques that allow finding optimal solutions in complex and multidimensional parameter spaces. Objective. The objective of this research is to apply genetic algorithms in the process of adaptive compilation to enable automatic optimization of software across different hardware platforms. Method. The approach is based on genetic algorithms to automate the compilation process. The key stages include: population initialization – creation of an initial set of compilation parameters; fitness function evaluation – assessment of the efficiency of each parameter combination; evolutionary operations – applying crossover, mutation and selection to generate the next generation of parameters; termination criteria – stopping the iterative process upon reaching an optimal result or stabilization of metrics. Results. The developed algorithm was implemented in Python using the numpy, multiprocessing and subprocess libraries. Performance evaluation of the algorithm was carried out using execution time, energy consumption and memory usage metrics. Conclusions. The scientific novelty of the study lies in the development of: an innovative approach to automatic compilation parameter optimization based on genetic algorithms; a method for dynamic selection of optimization strategies based on performance metrics for different architectures; integration of GAs with modern compilers such as LLVM for automatic analysis of intermediate representation and code optimization; and methods for applying adaptive compilers to solve cross-platform optimization problems. The practical significance is determined by the use of genetic algorithms in adaptive compilers, which significantly improves the efficiency of the compilation process by automating the selection of optimal parameters for various architectures. The proposed approach can be successfully applied in the fields of mobile computing, cloud technologies and high-performance systems. UK: Актуальність. Сучасне програмне забезпечення розробляється в умовах постійно зростаючої складності обчислювальних систем. Сьогодні розробникам доводиться враховувати величезну різноманітність платформ: від мобільних пристроїв із обмеженими ресурсами до серверів із високопродуктивними процесорами та спеціалізованих архітектур, таких як GPU, FPGA та навіть квантові комп’ютери. Ця гетерогенність вимагає від програмного забезпечення здатності ефективно працювати на різних апаратних платформах. Однак переносимість програм залишається однією з найскладніших задач, особливо коли йдеться про досягнення високої продуктивності. Одним із перспективних напрямів вирішення цієї проблеми є використання адаптивних компіляторів, які здатні автоматично оптимізувати програмний код для різних архітектур. Такий підхід дозволяє розробникам зосередитися на функціональній частині програм, мінімізуючи витрати на оптимізацію та налаштування. Особливе місце серед підходів до створення адаптивних компіляторів займають генетичні алгоритми (ГА). Це потужні еволюційні методи, які дозволяють знаходити оптимальні рішення у складних і багатовимірних параметрів. Мета роботи. Метою дослідження є застосування генетичних алгоритмів у процесі адаптивної компіляції для забезпечення автоматичної оптимізації програмного забезпечення на різних апаратних платформах. Метод. Ґрунтується на генетичних алгоритмів для автоматизації процесу компіляції. Основніими етапами якого є: ініціалізація популяції – створення початкового набору параметрів компіляції; оцінка функції пристосованості – визначення ефективності кожної комбінації параметрів; еволюційні операції застосування схрещування, мутації та відбору для створення нового покоління параметрів; критерії зупинки – завершення ітераційного процесу при досягненні оптимального результату або стабілізації метрик. Результати. Розроблений алгоритм був реалізований на Python із використанням бібліотек numpy, multiprocessing і subprocess. Для оцінки ефективності алгоритму використовувалися метрики часу виконання, споживання енергії та обсягу використаної пам’яті. Висновки. Наукова новизна дослідження полягає в розробки: інноваційного підхіда до автоматичної оптимізації параметрів компіляції, заснованому на використанні генетичних алгоритмів; метода динамічного вибору стратегій оптимізації на основі метрик продуктивності для різних архітектур; інтеграції ГА із сучасними компіляторами, такими як LLVM, для автоматичного аналізу проміжного подання та оптимізації кодів; методів застосування адаптивних компіляторів для вирішення задач кросплатформної оптимізації. Практична значимість визначається у використання генетичних алгоритмів в адаптивних компіляторах, що дозволяє значно підвищити ефективність процесу компіляції, автоматизуючи вибір оптимальних параметрів для різних архітектур. Запропонований підхід може бути успішно застосований у галузях мобільних обчислень, хмарних технологій і високопродуктивних систем.

Description

Berdnyk M. G. Use of genetic algorithms in adaptive compilers for cross-platform optimization / M. G. Berdnyk, I. P. Starodubskyi // Радіоелектроніка, інформатика, управління. – 2025. – № 4 (75). – C. 185-193.

Citation