Программное и аппаратное обеспечение распределенных и суперкомпьютерных систем
Научная статья
Обоснование методов ускорения гнёзд циклов итерационного типа
Елена Анатольевна Метелица
Южный Федеральный Университет, Ростов-на-Дону, Россия | |
metelica@sfedu.ru |
Аннотация. Рассматривается ускорение итерационных алгоритмов, которые встречаются при решении задач математической физики, математического моделирования, обработки изображений и других. В программной реализации таких алгоритмов лежат гнёзда циклов (участки программы, состоящие из вложенных циклов). Такие гнёзда циклов ускоряются при помощи комбинации оптимизирующих преобразований, включающих тайлинг, метод гиперплоскостей и распараллеливание на общую память. Обосновывается эквивалентность комбинации используемых преобразований программ.
Предлагается и обосновывается метод изменения порядка обхода тайла. Метод даёт ускорение за счёт увеличения количества чтений данных из регистров, вместо чтений из более медленной памяти. С учётом этого метода получена формула вычисления оптимальных размеров тайлов.
Представленной в статье цепочкой преобразований достигается ускорение в 1.4 раза большее, чем в известном алгоритме оптимизации, реализованном в системе PLUTO. Приводятся численные эксперименты, которые в некоторых случаях на процессоре с 8 ядрами демонстрируют ускорение относительно исходных последовательных программ более чем на порядок. Результаты статьи могут использоваться для ручной и автоматизированной оптимизации программ.
Ключевые слова: тайлинг, метод гиперплоскостей, распараллеливание, общая память, гнёзда циклов итерационного типа
Благодарности: Автор благодарен д.т.н. Б.Я. Штейнбергу за руководство работой и Ар.В. Климову за внимание и интерес к работе.
Для цитирования: Метелица Е. А. Обоснование методов ускорения гнёзд циклов итерационного типа // Программные системы: теория и приложения. 2024. Т. 15. № 1. С. 63–94. https://psta.psiras.ru/2024/1_63-94.
Полный текст статьи (PDF): https://psta.psiras.ru/read/psta2024_1_63-94.pdf.
Статья поступила в редакцию 21.01.2024; одобрена после рецензирования 13.02.2024; принята к публикации 15.02.2023; опубликована онлайн 26.03.2024.