Главная » Все файлы » Просмотр файлов из архивов » Документы » Конструирование оптимизирующих компиляторов (9 сем ВМК) только СП

Конструирование оптимизирующих компиляторов (9 сем ВМК) только СП (Программа курса)

2019-09-18СтудИзба

Описание файла

Файл "Конструирование оптимизирующих компиляторов (9 сем ВМК) только СП" внутри архива находится в папке "Программа курса". Документ из архива "Программа курса", который расположен в категории "". Всё это находится в предмете "конструирование компиляторов" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "Конструирование оптимизирующих компиляторов (9 сем ВМК) только СП"

Текст из документа "Конструирование оптимизирующих компиляторов (9 сем ВМК) только СП"

Программа по дисциплине:
«Конструирование оптимизирующих компиляторов
(дополнительные главы)»

Преподается на осеннем семестре 5 курса (магистратура)
для студентов кафедры системного программирования.

32 часа лекций + 16 часов семинарских (практических) занятий + 16 часов лабораторных занятий (2 задания).

Лекции

п/п

Название модулей

Разделы и темы лекционных занятий

Содержание

1

Цели и задачи курса

Лекция 1.
Цели и задачи курса.

Структура современного оптимизирующего компилятора.

Компиляторная среда LLVM и ее промежуточное представление (биткод).

Ограничения современных компиляторов.

Какая подготовка предполагается у слушателей курса (список вопросов).

2

Методы и алгоритмы машинно-независимой оптимизации.

Лекция 2.
Оптимизация циклов.

Выявление индуктивных переменных и минимизация их количества в гнезде циклов.

Выбор оптимального порядка циклов в гнезде.

Раскрутка циклов.

Лекция 3.
Анализ графа потока управления.

Построение дерева доминаторов. Выявление естественных (натуральных) циклов. Построение границ областей доминирования.

Лекция 4.
Структура потока данных

Полурешетки и их свойства. Функции на полу-решетках (передаточные или потоковые функции) и их свойства. Итерационные алгоритмы нисходя-щего и восходящего анализа свойств потока данных, выражаемых функциями потока.

Лекция 5.
Исследование алго-ритма распростра-нения констант.

Отсутствие свойства дистрибутивности у пере-даточной функции алгоритма и вытекающие из этого следствия.

Лекция 6.
Выявление частич-но-избыточных вычислений.

Понятие ожидаемого выражения. Четырехфазный алгоритм выявления частичных избыточностей.

Лекция 7.
Анализ потока дан-ных на областях.

Выделение областей в графе потока управления. Сводимые и несводимые графы протока управления. Построение передаточных функций областей по передаточным функциям входящих в них базовых блоков. Алгоритм анализа на областях.

Лекция 8.
Глобальный анализ алиасов.

Понятие алиаса. Итерационный алгоритм. Ограниченность итерационного алгоритма.

3

Межпроцедур-ная оптимиза-ция

Лекция 9.
Организация меж-процедурной оптимизации.

Граф вызовов и его построение. Виды меж-процедурной оптимизации: учет зависимостей от потока, от пути (трассы), от контекста вызова. Основные подходы к межпроцедурной оптимизации.

Лекция 10.
Межпроцедурный анализ указателей.

Сравнительный анализ основных алгоритмов межпроцедурного анализа указателей. Способы усиления быстрых алгоритмов (учет контекстной зависимости с помощью классификации и клонирования и т.п.)

4

Методы и алгоритмы машинно-ори-ентированной оптимизации.

Лекция 11.
Планирование кода.

Локальное планирование кода списком. Обобщения алгоритма. Выявление «гамаков» в графе потока управления для глобального планирования.

Лекция 12.
Распределение регистров.

Алгоритм распределения регистров с использованием раскраски узлов графа конфликтов.

Быстрые алгоритмы распределения регистров с использованием различных эвристик.

Лекция 13
Заключительные замечания.

Покадровая оптимизация и др.

5

Динамическая и адаптивная оптимизация.

Лекция 14
Профилирование.

Типы профилирования. Различные алгоритмы инструментирования для сбора профилей.

Лекция 15.
Реализация динамических оптимизаторов

Сравнительный анализ динамических оптимизаторов в среде Java и динамического оптимизатора среды LLVM.

6

Выбор последо-вательности оптимизаций в компиляторе (обзор)

Лекция 16
Выбор последо-вательности оптимизаций.

Постановка проблемы. Обзор различных подходов к решению проблемы, включая машинное обучение (Machine Learning) и генетические алгоритмы.

Семинары (решение задач и сдача лабораторных работ)

п/п

Название модулей

Семинарские (практические) занятия

Содержание

2

Методы и алгоритмы машинно-независимой оптимизации.

Занятие 1.

Решение задач по теме «Оптимизация циклов».
Пример задачи: Найти все индуктивные переменные в конкретном цикле и выразить их через одну из них.

Занятие 2.

Решение задач по теме «Анализ графа потока управления»
Пример задачи: Построить дерево доминаторов для конкретного ГПУ

Занятие 3.

Решение задач по теме «Структура потока данных»
Пример задачи: Написать передаточную функцию анализа живых переменных для конкретного базового блока.

Занятие 4.

Решение задач по теме «Анализ потока данных на областях.»
Пример задачи: Выделить суперблоки в конкретном ГПУ

Занятие 5.

Сдача лабораторной работы № 1

Занятие 6.

Сдача лабораторной работы № 1

4

Методы и алгоритмы машинно-ори-ентированной оптимизации.

Занятие 7.

Решение задач по теме «Планирование кода»
Пример задачи: Выделить все «гамаки» в заданном ГПУ.

Занятие 8.

Решение задач по теме «Планирование кода»
Пример задачи: Выделить все «гамаки» в заданном ГПУ.

Занятие 9.

Решение задач по теме «Распределение регистров»
Пример задачи: Построить граф конфликтов для конкретной функции

Занятие 10.

Решение задач по теме «Распределение регистров»
Пример задачи: Распределить регистры (для компьютера с 4 регистрами) по заданному графу конфликтов.

Занятие 11.

Сдача лабораторной работы № 2

Занятие 12.

Сдача лабораторной работы № 2

3

Межпроцедур-ная оптимиза-ция

Занятие 13.

Решение задач по теме «Организация межпроцедурной оптимизации»
Пример задачи: Построить граф вызовов для заданной программы.

Занятие 14.

Решение задач по теме «Межпроцедурный анализ указателей.»
Пример задачи:

Занятие 15.

Заключительная контрольная работа

Занятие 16.

Обсуждение результатов контрольной работы и выставление оценок.

Лабораторные работы

п/п

Название модулей

Лабораторные работы

Содержание

2

Методы и алгоритмы машинно-независимой оптимизации.

Работа 1.

Разработка и отладка (в среде LLVM) программы глобальной машинно-независимой оптимизации.
Пример программы:

4

Методы и алгоритмы машинно-ори-ентированной оптимизации.

Работа 2.

Разработка и отладка (в среде LLVM) программы планирования кода или распределения регистров.
Пример программы:

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее