|
Программное и аппаратное обеспечение распределенных и суперкомпьютерных систем
Обоснование методов ускорения гнёзд циклов итерационного типа
Е. А. Метелица Южный Федеральный Университет, Ростов-на-Дону, Россия
Аннотация:
Рассматривается ускорение итерационных алгоритмов, которые
встречаются при решении задач математической физики, математического
моделирования, обработки изображений и других. В программной реализации
таких алгоритмов лежат гнёзда циклов (участки программы, состоящие из
вложенных циклов). Такие гнёзда циклов ускоряются при помощи комбинации
оптимизирующих преобразований, включающих тайлинг, метод гиперплоскостей
и распараллеливание на общую память. Обосновывается эквивалентность
комбинации используемых преобразований программ.
Предлагается и обосновывается метод изменения порядка обхода тайла. Метод
даёт ускорение за счёт увеличения количества чтений данных из регистров,
вместо чтений из более медленной памяти. С учётом этого метода получена
формула вычисления оптимальных размеров тайлов.
Представленной в статье цепочкой преобразований достигается ускорение в 1.4
раза большее, чем в известном алгоритме оптимизации, реализованном в системе
PLUTO. Приводятся численные эксперименты, которые в некоторых случаях
на процессоре с 8 ядрами демонстрируют ускорение относительно исходных
последовательных программ более чем на порядок. Результаты статьи могут
использоваться для ручной и автоматизированной оптимизации программ.
Ключевые слова и фразы:
тайлинг, метод гиперплоскостей, распараллеливание, общая память, гнёзда циклов итерационного типа.
Поступила в редакцию: 21.01.2024 Подписана в печать : 15.02.2023
Образец цитирования:
Е. А. Метелица, “Обоснование методов ускорения гнёзд циклов итерационного типа”, Программные системы: теория и приложения, 15:1 (2024), 63–94
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/ps440 https://www.mathnet.ru/rus/ps/v15/i1/p63
|
|