Введение в принципы функционирования и применения современных мультиядерных архитектур (на примере Intel Xeon Phi)

В курсе изучаются вопросы разработки и оптимизации программного обеспечения, ориентированного на эффективное использование мультиядерных архитектур на примере сопроцессора Intel Xeon Phi.

Основная цель курса – изучить базовые принципы и сформировать навыки разработки программ, ориентированных на эффективное использование Intel Xeon Phi.
При этом решаются следующие задачи:

  1. Изучение современного состояния дел в области многоядерных и мультиядерных систем.
  2. Изучение особенностей архитектуры Intel Xeon Phi, а также основных механизмов, влияющих на производительность программ.
  3. Изучение моделей использования Intel Xeon Phi, а также соответствующего системного программного обеспечения. Освоение способов разработки, сборки и запуска приложений на Intel Xeon Phi.
  4. Изучение принципов и особенностей применения технологий параллельного программирования для разработки и оптимизации расчетных программ, ориентированных на Intel Xeon Phi, включая вопросы использования инструкций SIMD, технологий OpenMP и Cilk Plus.
  5. Формирование навыков оптимизации и векторизации расчетных циклов, оптимизации работы с памятью, балансировки нагрузки при распараллеливании.
  6. Ознакомление с достаточно успешными примерами оптимизации программ, изначально не совсем подходящих для эффективного использования возможностей Intel Xeon Phi.
  7. Изучение вопросов портирования достаточно сложных прикладных пакетов на Intel Xeon Phi.

Курс ориентирован на инженеров, преподавателей и научных сотрудников, а также аспирантов и студентов высших учебных заведений. Авторы курса предполагают наличие у слушателей базовых навыков разработки программ на C/C++, а также владение параллельным программированием на OpenMP и MPI. Навыки работы с TBB и MKL, а также с другими компонентами пакета Intel Parallel Studio XE будут полезны при изучении курса, но не являются обязательным условием. Вся необходимая информация об использовании Intel Parallel Studio XE будет включена в материалы курса. Авторы курса предполагают наличие у слушателей базовых знаний математики в объеме первых 2-3 курсов (в зависимости от профиля) факультетов естественнонаучного профиля. Материалы повышенной сложности ориентированы на магистрантов, аспирантов, инженеров компаний.

Авторы курса

Дополнительная информация об авторах и структуре курса (pdf)

Содержание курса

Раздел 1. Введение в принципы функционирования и применения современных мультиядерных архитектур (на примере Intel Xeon Phi)

Лекционные материалы

  1. Обзор архитектуры современных многоядерных процессоров (конспект, презентация)
  2. Архитектура Intel Xeon Phi (конспектпрезентация)
  3. Выполнение программ на Intel Xeon Phi. Модели организации вычислений с использованием Intel Xeon Phi (конспектпрезентация)
  4. Векторные расширения Intel Xeon Phi (конспектпрезентация)
  5. Элементы оптимизации прикладных программ для Intel Xeon Phi. Intel C/C++ Compiler (конспектпрезентация)

Практикум

  1. Компиляция и запуск приложений на Intel Xeon Phi (описаниепрезентация)
  2. Оптимизация прикладных программ для Intel Xeon Phi с использованием Intel C/C++ Compiler. Векторизация (описаниепрезентация)
  3. Оптимизация вычислений в задаче о разложении чисел на простые сомножители. Векторизация и балансировка нагрузки (описаниепрезентация)
  4. Оптимизация вычислений в задаче о вычислении справедливой цены опциона Европейского типа. Оптимизация: шаг за шагом (описаниепрезентация)
  5. Оптимизация вычислений в задаче матричного умножения. Оптимизация работы с памятью (описаниепрезентация)

Раздел 2. Программирование на современных мультиядерных архитектурах (на примере Intel Xeon Phi)

Лекционные материалы

  1. Элементы оптимизации прикладных программ для Intel Xeon Phi: Intel MKL, Intel VTune Amplifier XE (конспектпрезентация)
  2. Принципы переноса прикладных программных пакетов на Intel Xeon Phi (конспектпрезентация)

Практикум

  1. Оптимизация вычислительно трудоемкого программного модуля для архитектуры Intel Xeon Phi. Метод Монте-Карло (описаниепрезентация)
  2. Оптимизация вычислительно трудоемкого программного модуля для архитектуры Intel Xeon Phi. Линейные сортировки (описаниепрезентация)