Компьютерные науки

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

Программа об интерфейсе передачи сообщений MPI для создания высокопроизводительных вычислительных приложений, работе с коммуникаторами и реализации коллективных обменов данными.
Студентов 1410 Выпускников 483 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Суперкомпьютерные технологии, Программирование
Объем

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

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

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

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

Авторы

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

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
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 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

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

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

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

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.