Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Стоимость обучения с персональным тьютором:
500 руб. [?]
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
8:34:00
Студентов:
1389
Выпускников:
441
Качество курса:
4.31 | 4.16
Курс направлен на изучение различных видов оптимизаций на начальном уровне.
В процессе обучения рассматриваются основные тенденции в развитии вычислительных систем и способы их эффективного использования. Анализ приложения при помощи VTune. Простейшие перестановочные оптимизации, оптимизации циклических конструкций. Хороший стиль программирования и его влияние на возможность оптимизации кода. Плюсы и минусы работы с динамической памятью. Основы создания многопоточных программ при помощи компилятора Intel.
Специальности: Программист
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
1 час 12 минут
Архитектура микропроцессора Intel и основные факторы, влияющие на его производительность
На лекции рассматривается упрощенная модель процессора, составляющие его компоненты. Рассматривается многоуровневая модель памяти, использование регистров и оперативной памяти, механизм упреждающей выборки, предсказание переходов. Конвейер. Векторные инструкции. Многоядерность и параллельное выполнение инструкций. Место и роль компилятора в процессе создания эффективного приложения.
-
Лекция 2
26 минут
Использование инструментов Intel® для оптимизации программ
Краткий обзор возможных путей оптимизации при помощи программного обеспечения. Выявление критических участков кода, сбор информации о таких событиях как промахи кэширования, неправильное предсказание переходов. Оценка эффективности использования системных ресурсов. Общие рекомендации по использованию VTune в процессе оптимизации работы приложения.
-
Лекция 3
24 минуты
Простейшие оптимизации программ
Понятие информационной зависимости и перестановка операторов при исполнении. Простейшие перестановочные скалярные оптимизации. Понятие формы с однократным присваиванием. Удаление ненужного кода. Оптимизации циклических конструкций. Нормализованный цикл. Использование опций компилятора для выбора и диагностики оптимизаций.
-
Лекция 4
47 минут
Глобальные и локальные оптимизации
Хороший стиль программирования и актуальность различных типов межпроцедурных оптимизаций. Анализ совмещений и распространение информации между процедурами. Управление процессом подстановки при помощи директив и опций командной строки. Частичная подстановка и клонирование процедур. Компиляция приложения, снабженного механизмом сбора информации для динамического профилирования. Плюсы и минусы использования динамической памяти. Способы улучшения работы с динамической памятью.
-
Тест 4
24 минуты
-
Лекция 5
55 минут
Оптимизации для параллельных вычислений
История возникновения и развития векторного расширения в массовых процессорах Intel. Способы использования векторных инструкций и их набор. Векторизация, осуществляемая явным образом при помощи вызова специфических инструкций и автоматическая векторизация при помощи компилятора Intel. История развития многоядерных процессоров Intel и актуальность создания параллельных программ. Различные модели использования памяти в многопроцессорных системах. Плюсы и минусы многопоточных программ. Возможности компилятора Intel по автоматическому распараллеливанию программ.
-
Тест 5
24 минуты
-
1 час 40 минут
-
Олег Корсак
Олег Корсак
Латвия, Рига
Алексей Занин
Алексей Занин
Россия