Основы параллельного программирования с использованием MPI

Курс посвящен основам разработки параллельных программ с использованием интерфейса обмена сообщениями (MPI Message Passing Interface). Приводятся основные понятия и концепции модели передачи сообщений, рассматривается архитектура MPI.
Для специалистов
Записаться
Объём

36 час.
Длительность

30 дней
Нагрузка

6 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Рассматриваются архитектура MPI, модели параллельного программирования и их программные реализации. Изучаются двухточечные и коллективные обмены данными, группы процессов, коммуникаторы, а также неблокирующие операции и создание виртуальных топологий.
Цели
  • Сформировать знания об архитектуре и принципах функционирования интерфейса MPI.
  • Обучить методам разработки эффективных параллельных алгоритмов для распределенных систем.
Чему я научусь?
  • Разрабатывать параллельные программы с использованием блокирующих и неблокирующих обменов в MPI.
  • Управлять группами процессов и создавать пользовательские коммуникаторы в параллельных приложениях.

Авторы

Немнюгин Сергей Андреевич
Немнюгин Сергей Андреевич
Кандидат физико-математических наук, доцент кафедры вычислительной физики Санкт-Петербургского государственного университета.
Чему я научусь?
  • Разрабатывать параллельные программы с использованием блокирующих и неблокирующих обменов в MPI.
  • Управлять группами процессов и создавать пользовательские коммуникаторы в параллельных приложениях.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз.
1 Параллельные модели программирования и их программные реализации В лекции дается краткий обзор учебного курса, даются ссылки на учебно-методическую литературу и источники информации, которые... В лекции дается краткий обзор учебного курса, даются ссылки на учебно-методическую литературу и источники информации, которые могут быть использованы в рамках данного курса. Затем обсуждаются последовательная и параллельная модели программирования. Рассматриваются различные парадигмы параллельного программирования и соответствующие программные средства (POSIX Threads, Microsoft Windows API, OpenMP, MPI, PVM и т. д.). ещё
Параллельные модели программирования и их программные реализации тест для курса Основы параллельного программирования с использованием MPI 20 мин
2 Архитектура MPI "В лекции рассматривается ""архитектура"" программной реализации MPI на примере MPICH-2. Объясняется роль демона mpd, разбирается настройка... "В лекции рассматривается ""архитектура"" программной реализации MPI на примере MPICH-2. Объясняется роль демона mpd, разбирается настройка пользовательской среды. Приводятся типовые схемы организации параллельных MPI-программ, их структура. Рассматриваются привязки к языкам программирования C и Fortran, а также способы компиляции и запуска MPI-программ. Лекция включает выполнение практических заданий." ещё
Архитектура MPI тест для курса Основы параллельного программирования с использованием MPI 20 мин
3 Двухточечные обмены в MPI "В лекции обсуждаются средства организации двухточечных обменов. Рассматриваются различные режимы блокирующих двухсторонних обменов, их реализация в... "В лекции обсуждаются средства организации двухточечных обменов. Рассматриваются различные режимы блокирующих двухсторонних обменов, их реализация в MPI, приводятся примеры использования. Основное внимание уделяется стандартным обменам, обменам с буферизацией и ""по готовности"". Рассматриваются функции ""приёмопередачи"", а также возможные проблемы при организации двухточечных обменов." ещё
Двухточечные обмены в MPI тест для курса Основы параллельного программирования с использованием MPI 30 мин
4 Неблокирующие двухточечные обмены В лекции описываются средства организации неблокирующих двухточечных обменов. Рассматриваются операции неблокирующих отправки и приёма сообщений, процедуры-пробники.... В лекции описываются средства организации неблокирующих двухточечных обменов. Рассматриваются операции неблокирующих отправки и приёма сообщений, процедуры-пробники. Даются примеры использования неблокирующих операций. ещё
Неблокирующие двухточечные обмены тест для курса Основы параллельного программирования с использованием MPI 30 мин
5 Коллективные обмены В лекции рассматриваются коллективные обмены. Среди них – широковещательная рассылка. Обсуждаются операции распределения и сбора данных,... В лекции рассматриваются коллективные обмены. Среди них – широковещательная рассылка. Обсуждаются операции распределения и сбора данных, а также операции приведения (редукции). Внимание уделяется также роли синхронизации в параллельном программировании и средствам синхронизации в MPI. ещё
Коллективные обмены тест для курса Основы параллельного программирования с использованием MPI 30 мин
6 Группы процессов и коммуникаторы В лекции рассматриваются средства организации групп процессов и соответствующих им коммуникаторов. Речь идёт об интра- и... В лекции рассматриваются средства организации групп процессов и соответствующих им коммуникаторов. Речь идёт об интра- и интеркоммуникаторах. Разбираются примеры использования коллективных обменов в производных группах процессов, а также обмена между группами процессов. ещё
Группы процессов и коммуникаторы тест для курса Основы параллельного программирования с использованием MPI 30 мин
7 Пользовательские типы. Виртуальные топологии В лекции рассматриваются методы работы с пользовательскими типами данных. Пользовательские типы позволяют обойти некоторые ограничения MPI.... В лекции рассматриваются методы работы с пользовательскими типами данных. Пользовательские типы позволяют обойти некоторые ограничения MPI. Разъясняются такие вопросы, как построение карты типа, его регистрация и аннулирование. Обсуждаются примеры использования пользовательских типов в MPI-программах. Рассматриваются также виртуальные топологии, которыми могут быть наделены группы процессов, относящихся к MPI-программе. Основное внимание уделяется декартовым топологиям. Приводятся примеры. ещё
Пользовательские типы. Виртуальные топологии тест для курса Основы параллельного программирования с использованием MPI 30 мин
8 Другие возможности MPI В заключительной лекции дается краткий обзор тех возможностей MPI, которые не рассматривались в предыдущих лекциях. Среди... В заключительной лекции дается краткий обзор тех возможностей MPI, которые не рассматривались в предыдущих лекциях. Среди них односторонние обмены, дополнительные вопросы организации коллективных обменов, а также средства управления процессами из MPI-программы в процессе ее выполнения. ещё
Другие возможности MPI тест для курса Основы параллельного программирования с использованием MPI 20 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз.
Экзамен