Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
8:34:00
Студентов:
1418
Выпускников:
445
Качество курса:
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 минут
            -
            Олег Корсак
            Олег Корсак
            Латвия, Рига
            Алексей Занин
            Алексей Занин
            Россия