Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6402

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
782.84 Кб
Скачать

- source - ранг процесса, от которого должен

 

 

 

быть выполнен прием сообщения,

 

 

 

 

- tag - тег сообщения, которое должно быть

 

 

 

принято для процесса,

 

 

 

 

 

- comm - коммуникатор, в рамках которого

 

 

 

выполняется передача данных,

 

 

 

 

- status – указатель на структуру данных с

 

 

 

информацией

о

результате

выполнения

 

 

 

операции приема данных

 

 

 

 

int MPI_Bcast(void *buf, int count, MPI_Datatype

Коллективная операция

type, int root, MPI_Comm comm),

 

передачи

данных

от

где

 

 

 

одного процесса

всем

- buf, count, type – буфер памяти с отправляемым

процессам программы

сообщением (для процесса с рангом 0), и для

 

 

 

приема сообщений для всех остальных

 

 

 

процессов,

 

 

 

 

 

 

- root - ранг процесса, выполняющего рассылку

 

 

 

данных,

 

 

 

 

 

 

- comm - коммуникатор, в рамках которого

 

 

 

выполняется передача данных

 

 

 

 

int MPI_Reduce(void *sendbuf, void *recvbuf, int

Коллективная операция

count, MPI_Datatype type, MPI_Op op, int root,

передачи

данных

от

MPI_Comm comm),

 

 

всех процессов одному

где

 

 

 

процессу

 

 

-sendbuf - буфер памяти с отправляемым сообщением,

-recvbuf – буфер памяти для результирующего сообщения (только для процесса с рангом root),

-count - количество элементов в сообщениях,

-type – тип элементов сообщений,

-op - операция, которая должна быть выполнена над данными,

-root - ранг процесса, на котором должен быть получен результат,

-comm - коммуникатор, в рамках которого выполняется операция

int

MPI_Sendrecv(void

*sbuf,int

scount,

Коллективная операция

MPI_Datatype stype, int dest, int stag, void *rbuf,

одновременного

int rcount, MPI_Datatype rtype, int source, int rtag,

выполнение передачи и

MPI_Comm comm, MPI_Status *status),

 

приема

где

 

 

 

 

- sbuf, scount, stype, dest, stag - параметры

 

передаваемого сообщения,

 

 

 

- rbuf, rcount, rtype, source, rtag - параметры

 

принимаемого сообщения,

 

 

 

- comm - коммуникатор, в рамках которого

 

 

 

выполняется передача данных,

 

 

 

 

 

- status – структура данных с информацией о

 

 

 

результате выполнения операции

 

 

 

 

 

int

MPI_Scatter(void

*sbuf,

int

scount,

Коллективная операция

MPI_Datatype

stype,

void

*rbuf,

int

rcount,

обобщенной

передача

MPI_Datatype rtype, int root, MPI_Comm comm),

данных

от

одного

где

 

 

 

 

 

 

процесса

 

всем

- sbuf, scount, stype - параметры передаваемого

процессам

 

 

сообщения (scount определяет количество

 

 

 

элементов, передаваемых на каждый процесс),

 

 

 

- rbuf, rcount, rtype - параметры сообщения,

 

 

 

принимаемого в процессах,

 

 

 

 

 

 

- root – ранг процесса, выполняющего рассылку

 

 

 

данных,

 

 

 

 

 

 

 

 

- comm - коммуникатор, в рамках которого

 

 

 

выполняется передача данных

 

 

 

 

 

int

MPI_Gather(void

*sbuf,

int

scount,

Коллективная операция

MPI_Datatype

stype,

void

*rbuf,int

rcount,

обобщенной

передачи

MPI_Datatype rtype, int root, MPI_Comm comm),

данных

от

всех

где

 

 

 

 

 

 

процессов

 

одному

-sbuf, scount, stype - параметры передаваемого процессу сообщения,

-rbuf, rcount, rtype - параметры принимаемого сообщения,

-root – ранг процесса, выполняющего сбор

данных,

 

 

 

 

 

- comm - коммуникатор, в рамках которого

 

 

 

выполняется передача данных

 

 

 

 

 

int MPI_Allgather(void *sbuf,

int

scount,

Коллективная операция

MPI_Datatype stype, void *rbuf,

int

rcount,

обобщенной

 

передачи

MPI_Datatype rtype, MPI_Comm comm)

 

данных

от

всех

 

 

 

процессов

 

одному

 

 

 

процессу (сбора) и

 

 

 

последующей рассылки

 

 

 

от одного

 

процесса

 

 

 

всем процессам

int MPI_Barrier(MPI_Comm comm)

 

 

Коллективная операции

 

 

 

синхронизации

Список рекомендованной литературы

1.The Message Passing Interface (MPI) standard [Электронный ресурс]. - Режим доступа: http://www.mcs.anl.gov/mpi.

2.Кластерные установки России и СНГ [Электронный ресурс]. - Режим

доступа: http://parallel.ru/parallel/russia/russian_clusters.html.

3.Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВПетербург, 2002. - 608 с.

4.Антонов А.С. Параллельное программирование с использованием технологии MPI: Учебное пособие. – М.: Изд-во МГУ, 2004. – 71 с.

5.Немнюгин С.А., Стесик О.Л. Параллельное программирование для многопроцессорных вычислительных систем с использованием MPI. СПб.: БХВПетербург, 2002.

6.Кислицын Д.И. Автоматизированная система управления расчётом сложных строительных объектов на базе метода разделения объекта на проектные единицы // Вестник нижегородского университета им. Н.И. Лобачевского. - Нижний Новгород: Национальный исследовательский Нижегородский государственный университет им. Н.И. Лобачевского, 2013.

Кислицын Дмитрий Игоревич

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «Информационные системы в распределенных вычислительных средах»

по направлению подготовки 09.04.02 Информационные системы и технологии, направленность (профиль) Технология разработки информационных систем

Федеральное государственное бюджетное образовательное учреждение высшего образования «Нижегородский государственный архитектурно-строительный университет»

603950, Нижний Новгород, ул. Ильинская, 65. http://www.nngasu.ru, srec@nngasu.ru

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]