Н., Пескова Е. Е., Шаманаев П. А. Основы параллельного программирования с использованием технологий mpi и openmp учебное пособие саранск издательство свмо 2013 2


int MPI_Bcast(void *buf, int count, MPI_Datatype type, int root



Pdf көрінісі
бет18/53
Дата07.06.2023
өлшемі6.58 Mb.
#474796
1   ...   14   15   16   17   18   19   20   21   ...   53
ParProg MPI OpenMP

int MPI_Bcast(void *buf, int count, MPI_Datatype type, int root, 
MPI_Comm comm), где 
• buf, count, type — буфер памяти с отправляемым сообщением (для 
процесса с рангом 0) и для приема сообщений (для всех остальных 
процессов); 
• root — ранг процесса, выполняющего рассылку данных; 
• comm — коммуникатор, в рамках которого выполняется передача 
данных. 
Функция MPI_Bcast осуществляет рассылку данных из буфера buf, 
содержащего count элементов типа type, с процесса, имеющего номер root, 
всем процессам, входящим в коммуникатор comm. 
Следует отметить: 
• функция MPI_Bcast определяет коллективную операцию, и, тем 
самым, при выполнении необходимых рассылок данных вызов функции 
MPI_Bcast должен быть осуществлен всеми процессами указываемого 
коммуникатора; 
• указываемый в функции MPI_Bcast буфер памяти имеет различное 
назначение у разных процессов: для процесса с рангом root, которым 
осуществляется рассылка данных, в этом буфере должно находиться 
рассылаемое сообщение, а для всех остальных процессов указываемый 
буфер предназначен для приема передаваемых данных; 
• все коллективные операции "несовместимы" с парными 
операциями — так, например, принять широковещательное сообщение, 
отосланное с помощью MPI_Bcast, функцией MPI_Recv нельзя, для этого 
можно задействовать только MPI_Bcast.
Рис. 2.1. Общая схема операции передачи данных от одного процесса 
всем процессам 


23 
 
2.5.3 Передача данных от всех процессов одному. Операции редукции 
MPI предоставляет обратную по отношению к широковещательной 
рассылке операцию - операцию сбора данных или редукцию. Операция 
редукции позволяет, собрав на одном из узлов данные, посланные 
остальными узлами, выполнить над ними какую-либо из групповых 
операций - типа сложения, поиска максимума, минимума, среднего 
значения и т.д. [10] 


Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   ...   53




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет