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



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

2.5.1 Барьерная синхронизация 
 
В ряде ситуаций независимо выполняемые в процессах вычисления 
необходимо синхронизировать. Так, например, для измерения времени 
начала работы параллельной программы необходимо, чтобы для всех 
процессов одновременно были завершены все подготовительные 
действия, перед окончанием работы программы все процессы должны 
завершить свои вычисления и т.п. 
Синхронизация 
процессов, 
т.е. 
одновременное 
достижение 
процессами тех или иных точек процесса вычислений, обеспечивается при 
помощи функции MPI: 
int MPI_Barrier(MPI_Comm comm), где 
• comm — коммуникатор, в рамках которого выполняется операция. 
Функция MPI_Barrier определяет коллективную операцию, и, тем 
самым, при использовании она должна вызываться всеми процессами 
используемого коммуникатора. При вызове функции MPI_Barrier 
выполнение процесса блокируется, продолжение вычислений процесса 
произойдет только после вызова функции MPI_Barrier всеми процессами 
коммуникатора [2].
2.5.2 Передача данных от одного процесса всем. Широковещательная 
рассылка данных 
 
При программировании параллельных задач часто возникает 
необходимость разослать какую-то порцию данных всем процессам сразу. 
Очевидно, что для решения этой задачи можно воспользоваться 
рассмотренными ранее операциями двупроцессного обмена.
MPI_Comm_size(MPI_COMM_WORLD, &ProcNum); 
for (int i = 1; i < ProcNum; i++) 
MPI_Send(&x, n, MPI_DOUBLE, i, 0, MPI_COMM_WORLD); 
 


22 
Однако, такое решение неэффективно вследствие значительных 
затрат на синхронизацию процессов. Поэтому в MPI появилась 
специальная операция - операция широковещательной рассылки [9] 


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




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

    Басты бет