ОСНОВНЫЕ КОММУНИКАЦИОННЫЕ ОПЕРАЦИИСтр 1 из 7Следующая ⇒
Лабораторная работа №1 ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ В MPI. ОСНОВНЫЕ КОММУНИКАЦИОННЫЕ ОПЕРАЦИИ Цель работы: знакомство со стандартом MPI и изучение коммуникационных операций парного и коллективного обмена. Лабораторный комплекс. В состав лабораторного комплекса входят аппаратные средства: ПЭВМ IBM PC, локальная сеть, а также программные средства: Windows 2000/ХР, Visual C++, MPICH for NT.
Программа работы 1) изучить возможности использования и параметры функций MPI; 2) написать программу для решения задачи согласно выбранному варианту.
Основные теоретические сведения 1. Краткая характеристика MPI Система программирования MPIимеет следующие особенности: • MPI − это библиотека. Она определяет имена, вызовы процедур и результаты их работы. Программы, которые пишутся на FORTRAN, C, и C++ компилируются обычными компиляторами и связаны с MPI-библиотекой. • MPI − описание, а не реализация. Все поставщики параллельных компьютерных систем предлагают реализации MPI для своих машин как бесплатные, и они могут быть получены из Интернет. Правильная MPI-программа должна выполняться на всех реализациях без изменения. • MPI соответствует модели многопроцессорной ЭВМ с передачей сообщений. Процесс MPI- этопрограммная единица, у которой имеется собственное адресное пространство и одна или несколько нитей. Процессор− фрагмент аппаратных средств, способный к выполнению программы. Некоторые реализации MPI устанавливают, что в программе MPI всегда одному процессу соответствует один процессор; другие − позволяют размещать много процессов на каждом процессоре. В модели передачи сообщений процессы, выполняющиеся параллельно, имеют раздельные адресные пространства. Связь происходит, когда часть адресного пространства одного процесса скопирована в адресное пространство другого процесса. Эта операция совместная и возможна только когда первый процесс выполняет операцию передачи сообщения, а второй процесс − операцию его получения. Процессы в MPI принадлежат группам. Если группа содержит n процессов, то процессы нумеруются внутри группы номерами, которые являются целыми числами от 0 до n-l. Имеется начальная группа, которой принадлежат все процессы в реализации MPI. Понятия контекста и группы объединены в едином объекте, называемом коммуникатором. Таким образом, отправитель или получатель, определенные в операции посылки или получения, всегда обращается к номеру процесса в группе, идентифицированной данным коммуникатором. Если в кластере используются SMP-узлы (симметричная многопроцессорная система с множественными процессорами), то для организации вычислений возможны два варианта. 1. Для каждого процессора в SMP-узле порождается отдельный MPI-процесс. MPI-процессы внутри этого узла обмениваются сообщениями через разделяемую память (необходимо настроить MPICH соответствующим образом). 2. На каждой узле запускается только один MPI-процесс. Внутри каждого MPI-процесса производится распараллеливание в модели "общей памяти", например с помощью директив OpenMP. Чем больше функций содержит библиотека MPI, тем больше возможностей представляется пользователю для написания эффективных программ. Однако для написания подавляющего числа программ принципиально достаточно следующих шести функций:
В МPI базисной операцией посылки является операция: ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|