Введение в оптимизацию приложений с использованием компиляторов Intel

объём: 36 часов
Курс направлен на изучение различных видов оптимизаций на начальном уровне.
690 ₽
Темы:
Программирование

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.
Описание Учебный курс посвящен методам оптимизации приложений для эффективного использования вычислительных мощностей современных систем Intel. В процессе обучения рассматриваются архитектурные факторы, влияющие на производительность, а также инструменты анализа и отладки, такие как VTune Amplifier и Inspector XE. Особое внимание уделяется простейшим перестановочным оптимизациям, работе с циклическими конструкциями и влиянию стиля написания кода на возможности компилятора. Материал охватывает специфику работы с динамической памятью и основы создания многопоточных программ. Курс будет полезен начинающим разработчикам на C++ и Fortran, системным программистам и специалистам, стремящимся повысить производительность своих решений на платформе Intel.
Цели
  • Сформировать понимание архитектурных особенностей процессоров Intel, влияющих на скорость выполнения программ.
  • Развить навыки использования специализированных инструментов Intel для анализа и оптимизации кода.
  • Помочь освоить базовые техники локальной и глобальной оптимизации приложений.
  • Систематизировать знания о принципах создания эффективных многопоточных и параллельных вычислений.
Чему я научусь?
  • Анализировать производительность приложений с помощью инструментов Intel VTune Amplifier и Intel Inspector.
  • Применять локальные и глобальные оптимизации для улучшения работы циклических конструкций.
  • Использовать компиляторы Intel C++ и Fortran для создания эффективного исполняемого кода.
  • Разрабатывать базовые многопоточные программы и организовывать обмен сообщениями в кластерах.
  • Оценивать влияние стиля программирования и работы с памятью на итоговую производительность продукта.

Авторы

Ануфриенко Андрей Владимирович
Ануфриенко Андрей Владимирович
Intel Compiler Group, Novosibirsk.
Идрисов Ренат Искандерович
Идрисов Ренат Искандерович
К.ф.-м.н , ИСИ им. А.П. Ершова СО РАН.
Чему я научусь?
  • Анализировать производительность приложений с помощью инструментов Intel VTune Amplifier и Intel Inspector.
  • Применять локальные и глобальные оптимизации для улучшения работы циклических конструкций.
  • Использовать компиляторы Intel C++ и Fortran для создания эффективного исполняемого кода.
  • Разрабатывать базовые многопоточные программы и организовывать обмен сообщениями в кластерах.
  • Оценивать влияние стиля программирования и работы с памятью на итоговую производительность продукта.

Учебный план

№ Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Архитектура микропроцессора Intel и основные факторы, влияющие на его производительность На лекции рассматривается упрощенная модель процессора, составляющие его компоненты. Рассматривается многоуровневая модель памяти, использование регистров и... На лекции рассматривается упрощенная модель процессора, составляющие его компоненты. Рассматривается многоуровневая модель памяти, использование регистров и оперативной памяти, механизм упреждающей выборки, предсказание переходов. Конвейер. Векторные инструкции. Многоядерность и параллельное выполнение инструкций. Место и роль компилятора в процессе создания эффективного приложения. ещё
Архитектура микропроцессора Intel и основные факторы, влияющие на его производительность тест для курса Введение в оптимизацию приложений с использованием компиляторов Intel 25 мин
2 Использование инструментов Intel® для оптимизации программ Краткий обзор возможных путей оптимизации при помощи программного обеспечения. Выявление критических участков кода, сбор информации о... Краткий обзор возможных путей оптимизации при помощи программного обеспечения. Выявление критических участков кода, сбор информации о таких событиях как промахи кэширования, неправильное предсказание переходов. Оценка эффективности использования системных ресурсов. Общие рекомендации по использованию VTune в процессе оптимизации работы приложения. ещё
Использование инструментов Intel® для оптимизации программ тест для курса Введение в оптимизацию приложений с использованием компиляторов Intel 25 мин
3 Простейшие оптимизации программ Понятие информационной зависимости и перестановка операторов при исполнении. Простейшие перестановочные скалярные оптимизации. Понятие формы с однократным... Понятие информационной зависимости и перестановка операторов при исполнении. Простейшие перестановочные скалярные оптимизации. Понятие формы с однократным присваиванием. Удаление ненужного кода. Оптимизации циклических конструкций. Нормализованный цикл. Использование опций компилятора для выбора и диагностики оптимизаций. ещё
Простейшие оптимизации программ тест для курса Введение в оптимизацию приложений с использованием компиляторов Intel 50 мин
4 Глобальные и локальные оптимизации Хороший стиль программирования и актуальность различных типов межпроцедурных оптимизаций. Анализ совмещений и распространение информации между процедурами.... Хороший стиль программирования и актуальность различных типов межпроцедурных оптимизаций. Анализ совмещений и распространение информации между процедурами. Управление процессом подстановки при помощи директив и опций командной строки. Частичная подстановка и клонирование процедур. Компиляция приложения, снабженного механизмом сбора информации для динамического профилирования. Плюсы и минусы использования динамической памяти. Способы улучшения работы с динамической памятью. ещё
Глобальные и локальные оптимизации тест для курса Введение в оптимизацию приложений с использованием компиляторов Intel 40 мин
5 Оптимизации для параллельных вычислений История возникновения и развития векторного расширения в массовых процессорах Intel. Способы использования векторных инструкций и их... История возникновения и развития векторного расширения в массовых процессорах Intel. Способы использования векторных инструкций и их набор. Векторизация, осуществляемая явным образом при помощи вызова специфических инструкций и автоматическая векторизация при помощи компилятора Intel. История развития многоядерных процессоров Intel и актуальность создания параллельных программ. Различные модели использования памяти в многопроцессорных системах. Плюсы и минусы многопоточных программ. Возможности компилятора Intel по автоматическому распараллеливанию программ. ещё
Оптимизации для параллельных вычислений тест для курса Введение в оптимизацию приложений с использованием компиляторов Intel 40 мин
6 Продуктивное создание быстрых, масштабируемых, надежных приложений Intel-Parallel-Studio-XE-2013SP1-PB--082213
7 Инструмент проверки корректности использования памяти и потоков Intel-Inspector-XE-2013-PB--082213
8 Высокопроизводительные компиляторы Intel C++ и Fortran Intel Composer XE 2013
9 Высокопроизводительная библиотека MPI для организации обмена сообщениями в кластерах Intel MPI Library 4.1
10 Intel-VTune-Amplifier-XE-2013-PB-Russian
11 Intel-Cluster-Studio-XE-2013SP1-PB-RU-082713
12 Программные инструменты Intel для разработчиков
13 Лидирующая в отрасли библиотека для высокопроизводительных математических вычислений Intel-Math-Kernel-Library-v11-1-PB-083013
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Стоимость программы

690 ₽