Материалы |
Сроки проведения: 18.03.2015 - 20.05.2015 [расписание]
Курс посвящен основам разработки параллельных программ с использованием интерфейса обмена сообщениями (MPI Message Passing Interface). Приводятся основные понятия и концепции модели передачи сообщений, рассматривается архитектура MPI.
В курсе дается краткий обзор моделей параллельного программирования и программных реализаций этих моделей, рассматриваются архитектура MPI, привязки к языкам программирования C/C++ и Fortran, структура MPI-программы, настройка среды, компиляция и выполнение MPI-программ, двухточечные обмены, блокирующие и неблокирующие, буферизованные, двух- и односторонние, коллективные обмены – широковещательная рассылка, распределение и сбор данных, операции редукции, синхронизация, работа с группами процессов, интра- и интеркоммуникаторы, пользовательские типы данных и виртуальные топологии.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
20 мая 2015 00:00 | ||
Лекция 11 час | Параллельные модели программирования и их программные реализации
В лекции дается краткий обзор учебного курса, даются ссылки на учебно-методическую литературу и источники информации, которые могут быть использованы в рамках данного курса. Затем обсуждаются последовательная и параллельная модели программирования. Рассматриваются различные парадигмы параллельного программирования и соответствующие программные средства (POSIX Threads, Microsoft Windows API, OpenMP, MPI, PVM и т. д.).
Оглавление | 18 марта 2015 18:00 |
Тест 112 минут | 25 марта 2015 00:00 | |
Лекция 21 час | "Архитектура" MPI
В лекции рассматривается "архитектура" программной реализации MPI на примере MPICH-2. Объясняется роль демона mpd, разбирается настройка пользовательской среды. Приводятся типовые схемы организации параллельных MPI-программ, их структура. Рассматриваются привязки к языкам программирования C и Fortran, а также способы компиляции и запуска MPI-программ. Лекция включает выполнение практических заданий.
Оглавление | 25 марта 2015 18:00 |
Тест 212 минут | 1 апреля 2015 00:00 | |
Лекция 31 час | Двухточечные обмены в MPI
В лекции обсуждаются средства организации двухточечных обменов. Рассматриваются различные режимы блокирующих двухсторонних обменов, их реализация в MPI, приводятся примеры использования. Основное внимание уделяется стандартным обменам, обменам с буферизацией и "по готовности". Рассматриваются функции "приёмопередачи", а также возможные проблемы при организации двухточечных обменов.
Оглавление | 1 апреля 2015 18:00 |
Тест 318 минут | 8 апреля 2015 00:00 | |
Лекция 41 час | Неблокирующие двухточечные обмены
В лекции описываются средства организации неблокирующих двухточечных обменов. Рассматриваются операции неблокирующих отправки и приёма сообщений, процедуры-пробники. Даются примеры использования неблокирующих операций.
Оглавление | 8 апреля 2015 18:00 |
Тест 418 минут | 15 апреля 2015 00:00 | |
Лекция 51 час | Коллективные обмены
В лекции рассматриваются коллективные обмены. Среди них – широковещательная рассылка. Обсуждаются операции распределения и сбора данных, а также операции приведения (редукции). Внимание уделяется также роли синхронизации в параллельном программировании и средствам синхронизации в MPI.
Оглавление | 15 апреля 2015 18:00 |
Тест 518 минут | 22 апреля 2015 00:00 | |
Лекция 61 час | Группы процессов и коммуникаторы
В лекции рассматриваются средства организации групп процессов и соответствующих им коммуникаторов. Речь идёт об интра- и интеркоммуникаторах. Разбираются примеры использования коллективных обменов в производных группах процессов, а также обмена между группами процессов.
Оглавление | 22 апреля 2015 18:00 |
Тест 618 минут | 29 апреля 2015 00:00 | |
Лекция 71 час | Пользовательские типы. Виртуальные топологии
В лекции рассматриваются методы работы с пользовательскими типами данных. Пользовательские типы позволяют обойти некоторые ограничения MPI. Разъясняются такие вопросы, как построение карты типа, его регистрация и аннулирование. Обсуждаются примеры использования пользовательских типов в MPI-программах. Рассматриваются также виртуальные топологии, которыми могут быть наделены группы процессов, относящихся к MPI-программе. Основное внимание уделяется декартовым топологиям. Приводятся примеры.
Оглавление | 29 апреля 2015 18:00 |
Тест 718 минут | 6 мая 2015 00:00 | |
Лекция 81 час | Другие возможности MPI
В заключительной лекции дается краткий обзор тех возможностей MPI, которые не рассматривались в предыдущих лекциях. Среди них односторонние обмены, дополнительные вопросы организации коллективных обменов, а также средства управления процессами из MPI-программы в процессе ее выполнения.
Оглавление | 6 мая 2015 18:00 |
Тест 812 минут | 13 мая 2015 00:00 | |
5 часов | 20 мая 2015 00:00 |