Теория компиляторов. Часть II. Лекция 3. Общие методы распараллеливания кода презентация
Содержание
- 2. Общая схема распараллеливания программы Необходимо преобразовать линейный список инструкций [w1,w2,…,wn]
- 3. 1. Управляющий граф программы Вершины–источники - 2, 5 и 10.
- 4. Этапы 1. Формирование модели макроуровня. Объект – исходный поток инструкций. 1.1.
- 5. Структура ПК
- 6. Расстановка меток Для каждой тетрады определяются ее атрибуты, относящие тетраду к
- 7. Построение управляющего графа УГ содержит описание линейных блоков программы УГ
- 8. Планирование трасс «Хорошие» линейные участки - длинные «Плохие» линейные участки: короткие
- 9. Эвристики Предсказание на основе истории ветвлений. Сбор статистики об исходах операций
- 10. Пример В первую очередь, избегаем плохих инструкций (4). Если бы (4)
- 11. Преобразование трасс Метод дублирования остатка
- 12. Линейные участки ЛУ - последовательность инструкций, у которой имеется вход и
- 13. Граф зависимости по данным Пусть имеется участок программы – список инструкций
- 14. Пример ГЗД S = p*(p–a)*((p–b)*(p–c)) 1. (-, p, a, T1) 2.
- 15. Ярусно-параллельная форма 1. Построение дерева Для преобразования ГЗД к дереву (лесу
- 16. Ярусно-параллельная форма Пример. a=(b+c)*(c+d)*(b+d)
- 17. Построение ЯПФ ЯПФ – эта форма разметки дерева. В ЯПФ каждой
- 18. Алгоритм построения ЯПФ Вход: поток тетрад {T} Выход: граф G в
- 19. Пример (+,a,b,c) -- c:=a+b (+,a,b,c) -- c:=a+b (+,a,b,b) -- b:=a+b (+,d,e,f)
- 20. Распределение регистров 11 регистров
- 21. Оптимальная загрузка регистров Регистров обычно не хватает Сведем задачу распределения регистров
- 22. Граф конфликтов Граф конфликтов – это неориентированный граф, вершинами которого являются
- 23. Пример a:=b+c; k:=a*d e:=b+f m:=b*g
- 24. Построение графа конфликтов Далее - раскраска графа Использованы краски с именами
- 25. Раскраска графа (1) Гипотеза о четырех красках: Хроматическое число любого планарного
- 26. Раскраска графа (2) Нахождение оптимальной раскраски – это NP–полная задача. Поэтому
- 27. Стратегии последовательных раскрасок 1. НП–стратегия («Наибольшие–Первыми»). Упорядочить вершины v1,…,vn по
- 28. Итоговая последовательность 1. Формирование модели макроуровня. Объект – исходный поток инструкций.
- 29. Скачать презентацию
Слайды и текст этой презентации
Скачать презентацию на тему Теория компиляторов. Часть II. Лекция 3. Общие методы распараллеливания кода можно ниже: