АВТОМАТИЗАЦИЯ РАСПАРАЛЛЕЛИВАНИЯ ПРОГРАММ СО СЛОЖНЫМИ ИНФОРМАЦИОННЫМИ ЗАВИСИМОСТЯМИ

2.3.5 – Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей

Автор
Метелица Елена Анатольевна
Год
2024
  • 99 000 UZS

Оглавление диссертации

Список сокращений ................................................................................................................................ 5

Введение .................................................................................................................................................. 6

Глава 1. Оптимизирующие преобразования программ для ускорения целевых алгоритмов ....... 22

1.1. Элементы теории преобразования программ.......................................................................... 22

1.2. Анализ информационных зависимостей в гнёздах циклов с помощью решетчатых графов ............................................................................................................................................................ 25

1.3. Анализ векторов расстояний информационных зависимостей на основе решетчатых графов ................................................................................................................................................ 28

1.4. Анализ гнёзд циклов итерационного типа с использованием решетчатых графов ............ 38

1.5. Описание некоторых используемых в работе преобразований программ ........................... 40

1.5.1. Перестановка циклов (Loop Interchange) .......................................................................... 40

1.5.2. Гнездование цикла (Loop Nesting) ..................................................................................... 41

1.5.3. Скашивание циклов (Loop Skewing) ................................................................................. 41

1.5.4. Метод гиперплоскостей (Loop Wavefront) ....................................................................... 44

1.5.5. Тайлинг (Loop Tiling, Loop Blocking) ............................................................................... 46

1.5.6. Скошенный тайлинг (Skewed Loop Tiling) ....................................................................... 50

1.6. Оптимизирующая распараллеливающая система (ОРС) ....................................................... 52

1.7. Выводы к главе 1 ....................................................................................................................... 54

Глава 2. Алгоритм оптимизации итерационных гнёзд циклов ........................................................ 55

2.1. Вычисление параметров преобразований на основе анализа информационных зависимостей ..................................................................................................................................... 56

2.2. Применение тайлинга ................................................................................................................ 59

2.3. Перестановка циклов внутри тайла для повышения временнóй локальности данных ...... 61

2.4. Применение метода гиперплоскостей и прагм OpenMP для параллельного выполнения тайлов ................................................................................................................................................. 65

2.5. Эквивалентность алгоритма оптимизации итерационных гнёзд циклов ............................. 71

2.6. Перспективы развития и применения преобразований гнёзд циклов на основе ОРС ........ 72

2.6.1. Преимущества высокоуровневого внутреннего представления для реализации преобразований программ ............................................................................................................ 72

2.6.2. Распараллеливание на вычислительные системы с распределённой памятью ............. 73

2.7. Выводы к главе 2 ....................................................................................................................... 75

Глава 3. Оценка ускорения алгоритмов итерационного типа .......................................................... 76

3.1. Про выбор оптимальных размеров тайлов .............................................................................. 77

3.2. Условия сходимости алгоритмов итерационного типа.......................................................... 84

3.3. Оценка ускорения алгоритма Гаусса – Зейделя для решения задачи Дирихле уравнения Лапласа .............................................................................................................................................. 84

3.4. Оценка ускорения алгоритма Гаусса – Зейделя для решения задачи Дирихле уравнения Пуассона ............................................................................................................................................ 87

3.5. Оценка ускорения алгоритма решения задачи теплопроводности ....................................... 88

3.6. Влияние перестановки циклов внутри тайла на ускорение алгоритма Гаусса – Зейделя для решения обобщённой задачи Дирихле ........................................................................................... 90

3.7. Сравнение с оптимизирующей распараллеливающей системой PLUTO ............................ 93

3.8. Об оптимальной цепочке преобразований .............................................................................. 95

3.9. Выводы к главе 3 ..................................................................................................................... 103

Глава 4. Реализация метода диалогового анализа текстов программ на базе ОРС ..................... 104

4.1. Символьный анализ ................................................................................................................. 104

4.2. Линеаризация выражений ....................................................................................................... 105

4.3. Примеры работы «диалогового анализатора» ...................................................................... 106

4.3.1. Уточнение информационных зависимостей для распараллеливания программ ........ 106

4.3.2. Уточнение информационных зависимостей для применения алгоритма оптимизации итерационных гнёзд циклов ....................................................................................................... 130

4.3.3. Уточнение условий выполнения тайлинга ..................................................................... 131

4.3.4. Диалоговое выполнение гнездования цикла .................................................................. 132

4.4. Сравнение динамического и диалогового подходов к оптимизации программ ................ 136

4.4.1. Пример динамического распараллеливания .................................................................. 136

4.4.2. «Диалоговый анализатор» учитывает возможность переполнения ............................. 137

4.4.3. «Диалоговый анализатор» учитывает возможность изменения погрешности ........... 137

4.5. Выводы к главе 4 ..................................................................................................................... 138

Заключение ......................................................................................................................................... 139

Библиография ..................................................................................................................................... 141

Приложения ........................................................................................................................................ 153

Приложение А. Свидетельство о государственной регистрации программы для ЭВМ ............. 153

Приложение Б. Сертификат участника Молодёжной конференции студентов и аспирантов в рамках «НСКФ-2018» ........................................................................................................................ 154

Приложение В. Сертификат участника летней школы Intel “Intel Summer Internship” ............... 155

Приложение Г. Диплом победителя полуфинала Студенческой лиги Международного инженерного чемпионата “CASE-IN” .............................................................................................. 156

Приложение Д. Конфигурация ЭВМ ................................................................................................ 157

Приложение Е. Гнездо циклов преобразованного с помощью ОРС алгоритма Гаусса – Зейделя для решения задачи Дирихле (листинг 3.3.1); d1, d2, d3 – размеры тайлов ................................. 158

Приложение Ж. Внутреннее гнездо преобразованного с помощью ОРС алгоритма Гаусса – Зейделя для решения обобщённой задачи Дирихле (листинг 3.6.1); d1, d2, d3 – размеры тайлов .............................................................................................................................................................. 162

Приложение З. Гнездо циклов, полученное с помощью PLUTO, для алгоритма Гаусса – Зейделя для решения обобщённой задачи Дирихле ...................................................................................... 164

Приложение И. Результаты оптимизации алгоритма Гаусса – Зейделя для решения задачи Дирихле уравнения Лапласа. Размерность задачи – 256 х 4000 х 4000. Компилятор – GCC, опция компилятора – -О3. Время выполнения исходного алгоритма – 10,915 сек. .................... 165

Приложение К. Результаты оптимизации алгоритма Гаусса – Зейделя для решения задачи Дирихле уравнения Лапласа. Размерность задачи – 256 х 4000 х 4000. Компилятор – ICC, опция компилятора – -О3. Время выполнения исходного алгоритма – 16,835 сек. ............................... 166

Приложение Л. Результаты оптимизации алгоритма Гаусса – Зейделя для решения задачи Дирихле уравнения Лапласа. Размерность задачи – 256 х 4002 х 4002, тип данных – double. Компилятор – GCC, опция компилятора – -О3. Время выполнения исходного алгоритма – 11,2024 сек........................................................................................................................................... 168

Приложение М. Результаты оптимизации алгоритма Гаусса – Зейделя для решения задачи Дирихле уравнения Пуассона. Размерность задачи – 256 х 4000 х 4000. Время выполнения исходного алгоритма – 14,7464 сек. ................................................................................................. 169

Приложение Н. Результаты оптимизации алгоритма решения задачи теплопроводности. Размерность задачи – 128 х 4000 х 4000. Время выполнения исходного алгоритма – 4,3616 сек. Одинарная точность ........................................................................................................................... 171

Приложение О. Результаты оптимизации алгоритма решения задачи теплопроводности. Размерность задачи – 128 х 4000 х 4000. Время выполнения исходного алгоритма – 5,5922 сек. Двойная точность ............................................................................................................................... 173

Приложение П. Результаты оптимизации алгоритма Гаусса – Зейделя для решения обобщённой задачи Дирихле без использования перестановки циклов внутри тайла. Размерность задачи – 256 х 2000 х 2000. Время выполнения исходного алгоритма – 7,0792 сек. .................................. 175

Приложение Р. Результаты оптимизации алгоритма Гаусса – Зейделя для решения обобщённой задачи Дирихле без использования циклов внутри тайла. Размерность задачи – 256 х 2000 х 2000. Время выполнения исходного алгоритма – 7,0792 сек. .................................. 177

Приложение С. Результаты оптимизации программы (листинг 3.8.1). Размерность задачи – 256 х 4000 х 4000 при помощи алгоритма оптимизации итерационных гнёзд циклов, без применения преобразований «линеаризация» и «вынос общих инвариантных выражений». Время выполнения исходного алгоритма – 25,24 сек. .................................................................... 179

Приложение Т. Результаты оптимизации программы (листинг 3.8.1). Размерность задачи – 256 х 4000 х 4000 при помощи алгоритма оптимизации итерационных гнёзд циклов, с использованием преобразований «линеаризация» и «вынос общих инвариантных выражений». Время выполнения исходного алгоритма – 25,24 сек. .................................................................... 181

Рекомендуем вам товары

99 000 UZS
Автор
Миргородская Эльвира Руслановна
Количество страниц
Год
2024
99 000 UZS
Автор
Миронова Екатерина Юрьевна
Количество страниц
Год
2024
99 000 UZS
Автор
МИФТАХОВ ИЛЬНУР РИНАТОВИЧ
Количество страниц
Год
2024
Модули для Opencart 2, Опенкарт 3