Information

Created: 09.10.2011 | Level: for all | Access: paid
Introduction in Optimization of applications using Intel engines Курс направлен на изучение различных видов оптимизаций на начальном уровне.
В процессе обучения рассматриваются основные тенденции в развитии вычислительных систем и способы их эффективного использования. Анализ приложения при помощи VTune. Простейшие перестановочные оптимизации, оптимизации циклических конструкций. Хороший стиль программирования и его влияние на возможность оптимизации кода. Плюсы и минусы работы с динамической памятью. Основы создания многопоточных программ при помощи компилятора Intel.

План занятий

LessonTitle <<Date
-
Lecture 1
1 hour 12 minutes
Архитектура микропроцессора Intel и основные факторы, влияющие на его производительность
На лекции рассматривается упрощенная модель процессора, составляющие его компоненты. Рассматривается многоуровневая модель памяти, использование регистров и оперативной памяти, механизм упреждающей выборки, предсказание переходов. Конвейер. Векторные инструкции. Многоядерность и параллельное выполнение инструкций. Место и роль компилятора в процессе создания эффективного приложения.
Contents
    -
    Тест 1
    15 minutes
    -
    Lecture 2
    26 minutes
    Использование инструментов Intel® для оптимизации программ
    Краткий обзор возможных путей оптимизации при помощи программного обеспечения. Выявление критических участков кода, сбор информации о таких событиях как промахи кэширования, неправильное предсказание переходов. Оценка эффективности использования системных ресурсов. Общие рекомендации по использованию VTune в процессе оптимизации работы приложения.
    Contents
      -
      Тест 2
      15 minutes
      -
      Lecture 3
      24 minutes
      Простейшие оптимизации программ
      Понятие информационной зависимости и перестановка операторов при исполнении. Простейшие перестановочные скалярные оптимизации. Понятие формы с однократным присваиванием. Удаление ненужного кода. Оптимизации циклических конструкций. Нормализованный цикл. Использование опций компилятора для выбора и диагностики оптимизаций.
      Contents
        -
        Тест 3
        30 minutes
        -
        Lecture 4
        47 minutes
        Глобальные и локальные оптимизации
        Хороший стиль программирования и актуальность различных типов межпроцедурных оптимизаций. Анализ совмещений и распространение информации между процедурами. Управление процессом подстановки при помощи директив и опций командной строки. Частичная подстановка и клонирование процедур. Компиляция приложения, снабженного механизмом сбора информации для динамического профилирования. Плюсы и минусы использования динамической памяти. Способы улучшения работы с динамической памятью.
        Contents
          -
          Тест 4
          24 minutes
          -
          Lecture 5
          55 minutes
          Оптимизации для параллельных вычислений
          История возникновения и развития векторного расширения в массовых процессорах Intel. Способы использования векторных инструкций и их набор. Векторизация, осуществляемая явным образом при помощи вызова специфических инструкций и автоматическая векторизация при помощи компилятора Intel. История развития многоядерных процессоров Intel и актуальность создания параллельных программ. Различные модели использования памяти в многопроцессорных системах. Плюсы и минусы многопоточных программ. Возможности компилятора Intel по автоматическому распараллеливанию программ.
          Contents
            -
            Тест 5
            24 minutes
            -
            Дополнительный материал 1
            22 minutes
            -
            Дополнительный материал 2
            28 minutes
            -
            Дополнительный материал 3
            21 minute
            -
            Дополнительный материал 4
            16 minutes
            -
            Дополнительный материал 5
            27 minutes
            -
            Дополнительный материал 6
            25 minutes
            -
            Дополнительный материал 7
            22 minutes
            -
            Дополнительный материал 8
            21 minute
            -
            5 hours
            -