Обзор курса

Курс «Основы параллельного программирования с использованием MPI» посвящен основам разработки параллельных программ с использованием интерфейса обмена сообщениями (MPI - Message Passing Interface). Рассматриваются основные понятия и концепции модели передачи сообщений, «архитектура» MPI. Обсуждаются способы организации обменов разного типа: двухточечных, коллективных, блокирующих и неблокирующих и т. д. Рассматриваются вспомогательные средства, такие как пользовательские типы, виртуальные топологии, другие вопросы. 

Лекция 1
В первой лекции обсуждаются последовательная и параллельная модели программирования. Рассматриваются различные парадигмы параллельного программирования и их программные реализации (POSIX Threads, Microsoft Windows API, OpenMP, MPI, PVM и т. д.).

Лекция 2
Во второй лекции рассматривается «архитектура» программной реализации MPI на примере MPICH. Объясняется роль демона mpd. Вводятся основные понятия и терминология. Приводятся типовые схемы организации параллельных MPI-программ, их структура. Рассматриваются привязки к языкам программирования C и Fortran, а также способы компиляции и запуска MPI-программ.

Лекция 3
В третьей лекции обсуждаются средства организации двухточечных обменов. Рассматриваются различные режимы блокирующих двухсторонних обменов, их реализация в MPI, приводятся примеры использования. Основное внимание уделяется стандартным обменам, обменам с буферизацией и некоторым другим. Рассматриваются функции «приёмопередачи», а также возможные проблемы при организации двухточечных обменов.

Лекция 4
В лекции описываются средства организации неблокирующих двухточечных обменов. Рассматриваются операции неблокирующих отправки и приёма сообщений, процедуры-пробники, отложенные обмены. Даются примеры использования как блокирующих, так и неблокирующих двухточечных операций.

Лекция 5
В лекции рассматриваются коллективные обмены. Обсуждаются такие операции, как широковещательная рассылка, распределение и сбор данных, а также операция приведения (редукции). Внимание уделяется также роли синхронизации в параллельном программировании и средствам синхронизации в MPI.

Лекция 6
В лекции рассматриваются средства организации групп процессов и соответствующих им коммуникаторов. Речь идёт об интра- и интеркоммуникаторах. Разбираются примеры использования коллективных обменов в производных группах процессов, а также обмена между группами процессов.

Лекция 7
В этой лекции рассматриваются методы работы с пользовательскими типами данных. Пользовательские типы позволяют обойти некоторые ограничения MPI. Разъясняются такие вопросы, как построение карты типа, его регистрация и аннулирование. Обсуждаются примеры использования пользовательских типов в MPI-программах. Рассматриваются также виртуальные топологии, которыми могут быть наделены группы процессов, относящихся к MPI-программе. Основное внимание уделяется декартовым топологиям. Приводятся примеры.

Лекция 8
В заключительной лекции даётся краткий обзор тех возможностей MPI, которые не рассматривались в предыдущих лекциях. Среди них атрибуты коммуникатора, односторонние обмены, дополнительные вопросы организации коллективных обменов, а также средства управления процессами из MPI-программы в процессе её выполнения.

Оставить комментарий.
Подпись
Код на картинке
© 2010-2016, ООО ПАРСЕР , Все права защищены.
Деловая сеть Санкт-Петербург и Ленинградская область. Жёлтые страницы, телефонный справочник и каталог компаний, товаров и услуг.
top.dp.ru