Методика разработки скоростного компилятора на основе модифицированного метода оптимизации loop fusion: модели и инструменты его реализации

Обложка

Цитировать

Полный текст

Открытый доступ Открытый доступ
Доступ закрыт Доступ предоставлен
Доступ закрыт Только для подписчиков

Аннотация

В связи с развитием информационных технологий, усложнением языков программирования и соответственно разрабатываемых с их использованием приложений, особую значимость приобретает оптимизация программ. В процессе оптимизации программа улучшается за счет уменьшения размера кода, сложности, использования меньшего объема памяти и обеспечивает сокращение времени выполнения без изменения внутренней функции. На практике оптимизация реализуется с использованием компиляторов и их функций. Принимая во внимание выше отмеченное, в статье была поставлена цель, заключающаяся в разработке методики исследования различных аспектов построения скоростного компилятора с модифицированным методом оптимизации loop fusion, а также моделей и инструментов его реализации. В процессе исследования обозначены особенности его проектирования с использованием модифицированного метода оптимизации loop fusion, приведены описания блок- схемы модифицированного алгоритма loop fusion и логической блок- схемы этапов разработки компилятора. В результате выполнения работы предложен компилятор, выполненный на основе с модифицированного метода оптимизации loop fusion, использующий реверсирование циклов для обеспечения их «законного» и выгодного слияния, что позволяет сократить время выполнения программы, сохраняя при этом ее корректность. Показана эффективность работы предложенного компилятора путем сравнения времен компиляции тестовой программы, полученных с его использованием и с помощью известного компилятора х86-64 gcc 4.7.1.

Полный текст

Доступ закрыт

Об авторах

Борис Алексеевич Логунов

Научно-исследовательский центр прочности летательных аппаратов, Федеральное автономное учреждение «Центральный аэрогидродинамический институт имени профессора Н.Е. Жуковского» (ФАУ «ЦАГИ»)

Email: logunov39@mail.ru

кандидат технических наук; начальник отдела измерительно-вычислительных систем, Отделение норм прочности, нагрузок и аэроупругости Научно-исследовательского центра прочности летательных аппаратов Федерального автономного учреждения «Центральный аэрогидродинамический институт имени профессора Н.И. Жуковского (ФАУ «ЦАГИ»)

Россия, Жуковский, Московская область

Илья Андреевич Харин

Научно-исследовательский центр прочности летательных аппаратов, Федеральное автономное учреждение «Центральный аэрогидродинамический институт имени профессора Н.Е. Жуковского» (ФАУ «ЦАГИ»)

Автор, ответственный за переписку.
Email: xarin.ilya@bk.ru

инженер отдела измерительно-вычислительных систем, Отделение норм прочности, нагрузок и аэроупругости Научно-исследовательского центра прочности летательных аппаратов Федерального автономного учреждения «Центральный аэрогидродинамический институт имени профессора Н.И. Жуковского (ФАУ «ЦАГИ»)

Россия, Жуковский, Московская область

Список литературы

  1. Agez M. Correcting remaining truncations in hybrid life cycle assessment database compilation // Journal of Industrial Ecology. 2022. Vol. 26. No. 1. Pp. 121–133.
  2. 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.
  3. Muller E. Push versus pull-based loop fusion in query engines // Journal of Functional Programming. 2018. Vol. 28. No. 1. Pp. 56–62.
  4. Сесин И.Ю. Сравнительный анализ методов оптимизации программного обеспечения для борьбы с предикацией ветвлений на графических процессорах // Russian Technological Journal. 2021. № 6. С. 7–15.
  5. 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.
  6. Zhufeng H. Optimization based on LLVM global instruction selection // Journal of Physics. Conference Series. 2021. Vol. 1856. No. 1. Pp. 19–23.
  7. 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.
  8. Владимиров К.И. Оптимизация разбиения структур для векторного оптимизатора в графическом компиляторе Intel // Современные информационные технологии и ИТ-образование. 2022. № 2. С. 249–255.
  9. Josipovic L. Synthesizing general-purpose code into dynamically scheduled circuits // IEEE Circuits and Systems Magazine. 2021. Vol. 21. No. 2. Pp. 97–118.
  10. Kiesel R. Efficient knowledge compilation beyond weighted model counting // Theory and Practice of Logic Programming. 2022. Vol. 22. No. 4. Pp. 505–522.
  11. 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.
  12. 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.
  13. Новиков К.Д. Оптимизация программного обеспечения // Вестник Российского нового университета. Серия: Сложные системы: модели, анализ и управление. 2021. № 1. С. 159–165.
  14. Murali P. Formal constraint-based compilation for noisy intermediate-scale quantum systems // Microprocessors and Microsystems. 2019. Vol. 66. No. 9. Pp. 102–112.
  15. 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.
  16. Гонопольский М.Г. Автоматическая генерация интерпретатора для многоязыковой виртуальной машины // Современные информационные технологии и ИТ-образование. 2021. Т. 17. № 4. С. 988–997.
  17. Баев Р.В. Предотвращение уязвимостей, возникающих в результате оптимизации кода с неопределенным поведением // Труды Института системного программирования РАН. 2021. Т. 33. № 4. С. 195–210.
  18. Кормен Т.Х., Лейзерсон Ч.Э., Ривест Р.Л., Стейн К. Раздел 24.3: Алгоритм Дейкстры // Введение в алгоритмы. 2 изд. MIT Press и McGraw-Hill, 2001. С. 595–601. ISBN: 0-262-03293-7.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рис. 1. Блок схема хэш-таблицы

Скачать (95KB)
3. Рис. 2. Принцип работы по генерации кода

Скачать (51KB)
4. Рис. 3. Блок- схема алгоритма, выполненного на основе модифицированного метода оптимизации loop fusion

Скачать (191KB)
5. Рис. 4. Логическая блок-схема, иллюстрирующая этапы работы компилятора с модифицированным методом оптимизации loop fusion

Скачать (259KB)
6. Рис. 5. Компиляция тестовой программы с использованием компилятора х86-64 gcc 4.7.1

Скачать (11KB)
7. Рис. 6. Компиляция тестовой программы с использованием предложенного компилятора с модифицированным методом оптимизации loop fusion

Скачать (70KB)
8. Рис. 7. Диаграмма сравнения времени компиляции программ

Скачать (56KB)


Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах