Оптимизирующие компиляторы (дополнительные главы) (9 сем ВМК) только прогр (1157504)
Текст из файла
Программа по дисциплине: Оптимизирующие компиляторы (дополнительные главы)
Преподается на осеннем семестре 5 курса (магистратура) только для студентов кафедры системного программирования. 34 часа лекций + 16 часов лабораторных занятий (2 задания).
№ п/п | Название разделов | Темы лекционных занятий | Содержание |
1. | Цели и задачи курса. | Цели и задачи курса. (2 часа лекций) | |
2. | Методы и алгоритмы машинно-независимой оптимизации. | Анализ потока данных. (2 часа лекций) | Исключение частично-избыточных вычислений с помощью анализа ожидаемых выражений. |
Построение квазиоптимальной SSA-формы. | Построение границ доминирования для узлов графа потока управления. Алгоритм расстановки -функций. | ||
Метод глобальной нумерации значений (4 часа лекций) | Глобальная нумерация значений методом установления конгруэнтности узлов графа потока управления. Сравнение двух методов глобальной нумерации значений. | ||
Оптимизация циклов. (2 часа лекций) | Выявление индуктивных переменных и минимизация их количества в гнезде циклов. Выбор оптимального порядка циклов в гнезде. | ||
Межпроцедурный анализ указателей (4 часа лекций) | Методы контекстно-чувствительного межпроцедурного анализа – классификация контекстов, клонирование процедур, использование аннотаций. | ||
3. | Методы и алгоритмы машинно-ориентирован-ной оптимизации. | Планирование кода. (4 часа лекций + 8 часов лабораторных занятий) | Постановка задачи глобального планирования кода. Перемещение кода вверх и вниз по пути управления. Обновление зависимостей. Алгоритм глобального планирования кода на основе областей. Конвейеризация гнезд циклов. Покадровая оптимизация потока команд с учетом особенностей архитектуры целевого процессора. |
4. | Порядок выполнения оптимизи-рующих фаз. | Порядок выполнения оптимизирующих фаз. (2 часа лекций) | Взаимное влияние оптимизирующих фаз. Зависимость оптимизирующих фаз от компилируемой программы. Эвристики выбора последовательности оптимизирующих фаз (параметров компилятора). |
5. | Распаралле-ливание кода. | Возможность распараллеливания цикла. (4 часа лекций) | Достаточное условие распараллеливания цикла. Омега-тест. |
Распараллеливание «линейных» циклов. (2 часа лекций) | Сведение задачи распараллеливания «линейных» циклов к задаче целочисленного линейного программирования. Средства распараллеливания «линейных» циклов в компиляторе GCC. | ||
6. | Организация параллельного выполнения кода. | Обзор текущего состояния проблемы параллельного выполнения циклов (4 часа лекций) | Формула Амдаля и следствия из нее. Масштабируемость. Локальность данных. |
Параллельное выполнение циклов на общей памяти. Приватизация. | |||
Проблемы параллельного выполнения циклов на распределенной памяти. | |||
Обобщенная постановка проблемы параллельного выполнения циклов. | |||
7. | Заключение. | Заключительные замечания. (2 часа лекций) |
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.