Методика разработки скоростного компилятора на основе модифицированного метода оптимизации loop fusion: модели и инструменты его реализации
- Авторы: Логунов Б.А.1, Харин И.А.1
-
Учреждения:
- Научно-исследовательский центр прочности летательных аппаратов, Федеральное автономное учреждение «Центральный аэрогидродинамический институт имени профессора Н.Е. Жуковского» (ФАУ «ЦАГИ»)
- Выпуск: Том 10, № 1 (2023)
- Страницы: 103-111
- Раздел: ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И ИХ ЭЛЕМЕНТЫ
- URL: https://journals.eco-vector.com/2313-223X/article/view/545844
- DOI: https://doi.org/10.33693/2313-223X-2023-10-1-103-111
- ID: 545844
Цитировать
Аннотация
В связи с развитием информационных технологий, усложнением языков программирования и соответственно разрабатываемых с их использованием приложений, особую значимость приобретает оптимизация программ. В процессе оптимизации программа улучшается за счет уменьшения размера кода, сложности, использования меньшего объема памяти и обеспечивает сокращение времени выполнения без изменения внутренней функции. На практике оптимизация реализуется с использованием компиляторов и их функций. Принимая во внимание выше отмеченное, в статье была поставлена цель, заключающаяся в разработке методики исследования различных аспектов построения скоростного компилятора с модифицированным методом оптимизации loop fusion, а также моделей и инструментов его реализации. В процессе исследования обозначены особенности его проектирования с использованием модифицированного метода оптимизации loop fusion, приведены описания блок- схемы модифицированного алгоритма loop fusion и логической блок- схемы этапов разработки компилятора. В результате выполнения работы предложен компилятор, выполненный на основе с модифицированного метода оптимизации loop fusion, использующий реверсирование циклов для обеспечения их «законного» и выгодного слияния, что позволяет сократить время выполнения программы, сохраняя при этом ее корректность. Показана эффективность работы предложенного компилятора путем сравнения времен компиляции тестовой программы, полученных с его использованием и с помощью известного компилятора х86-64 gcc 4.7.1.
Ключевые слова
Полный текст
![Доступ закрыт](https://journals.eco-vector.com/lib/pkp/templates/images/icons/text_lock.png)
Об авторах
Борис Алексеевич Логунов
Научно-исследовательский центр прочности летательных аппаратов, Федеральное автономное учреждение «Центральный аэрогидродинамический институт имени профессора Н.Е. Жуковского» (ФАУ «ЦАГИ»)
Email: logunov39@mail.ru
кандидат технических наук; начальник отдела измерительно-вычислительных систем, Отделение норм прочности, нагрузок и аэроупругости Научно-исследовательского центра прочности летательных аппаратов Федерального автономного учреждения «Центральный аэрогидродинамический институт имени профессора Н.И. Жуковского (ФАУ «ЦАГИ»)
Россия, Жуковский, Московская областьИлья Андреевич Харин
Научно-исследовательский центр прочности летательных аппаратов, Федеральное автономное учреждение «Центральный аэрогидродинамический институт имени профессора Н.Е. Жуковского» (ФАУ «ЦАГИ»)
Автор, ответственный за переписку.
Email: xarin.ilya@bk.ru
инженер отдела измерительно-вычислительных систем, Отделение норм прочности, нагрузок и аэроупругости Научно-исследовательского центра прочности летательных аппаратов Федерального автономного учреждения «Центральный аэрогидродинамический институт имени профессора Н.И. Жуковского (ФАУ «ЦАГИ»)
Россия, Жуковский, Московская областьСписок литературы
- Agez M. Correcting remaining truncations in hybrid life cycle assessment database compilation // Journal of Industrial Ecology. 2022. Vol. 26. No. 1. Pp. 121–133.
- Abate C. An extended account of trace-relating compiler correctness and secure compilation // ACM Transactions on Programming Languages and Systems. 2021. Vol. 43. No. 4. Pp. 14–19.
- Muller E. Push versus pull-based loop fusion in query engines // Journal of Functional Programming. 2018. Vol. 28. No. 1. Pp. 56–62.
- Сесин И.Ю. Сравнительный анализ методов оптимизации программного обеспечения для борьбы с предикацией ветвлений на графических процессорах // Russian Technological Journal. 2021. № 6. С. 7–15.
- Li Hao. Compiling cross-language network programs into hybrid data plane // IEEE/ACM Transactions on Networking: A Joint Publication of the IEEE Communications Society. 2021. Vol. 30. No. 3. Pp. 1088–1103.
- Zhufeng H. Optimization based on LLVM global instruction selection // Journal of Physics. Conference Series. 2021. Vol. 1856. No. 1. Pp. 19–23.
- Ziraksima M. Using an evolutionary approach based on shortest common supersequence problem for loop fusion // Soft Computing: A Fusion of Foundations, Methodologies and Applications. 2020. Nо. 10. Рp. 7231–7252.
- Владимиров К.И. Оптимизация разбиения структур для векторного оптимизатора в графическом компиляторе Intel // Современные информационные технологии и ИТ-образование. 2022. № 2. С. 249–255.
- Josipovic L. Synthesizing general-purpose code into dynamically scheduled circuits // IEEE Circuits and Systems Magazine. 2021. Vol. 21. No. 2. Pp. 97–118.
- Kiesel R. Efficient knowledge compilation beyond weighted model counting // Theory and Practice of Logic Programming. 2022. Vol. 22. No. 4. Pp. 505–522.
- Ahmed H. Toward a novel engine for compiler optimization space exploration of big data workloads // Software, Practice & Experience. 2022. Vol. 52. No. 5. Pp. 1262–1293.
- Shymon I.M. Compilation, analysis and application of a comprehensive Bangla Corpus KUMono // IEEE Access: Practical Innovations, Open Solutions. 2022. Vol. 10. Pp. 79999–80014.
- Новиков К.Д. Оптимизация программного обеспечения // Вестник Российского нового университета. Серия: Сложные системы: модели, анализ и управление. 2021. № 1. С. 159–165.
- Murali P. Formal constraint-based compilation for noisy intermediate-scale quantum systems // Microprocessors and Microsystems. 2019. Vol. 66. No. 9. Pp. 102–112.
- Patrignani M. Robustly safe compilation, an efficient form of secure compilation // ACM Transactions on Programming Languages and Systems. 2021. Vol. 43. No. 1. Pp. 12–19.
- Гонопольский М.Г. Автоматическая генерация интерпретатора для многоязыковой виртуальной машины // Современные информационные технологии и ИТ-образование. 2021. Т. 17. № 4. С. 988–997.
- Баев Р.В. Предотвращение уязвимостей, возникающих в результате оптимизации кода с неопределенным поведением // Труды Института системного программирования РАН. 2021. Т. 33. № 4. С. 195–210.
- Кормен Т.Х., Лейзерсон Ч.Э., Ривест Р.Л., Стейн К. Раздел 24.3: Алгоритм Дейкстры // Введение в алгоритмы. 2 изд. MIT Press и McGraw-Hill, 2001. С. 595–601. ISBN: 0-262-03293-7.
Дополнительные файлы
![](/img/style/loading.gif)