Барьерная синхронизация - Функция блокирует вызывающий процесс пока все процессы группы не вызовут её. В каждом процессе управление возвращается только тогда, когда все процессы в группе вызовут процедуру
- Параллельное программирование с использованием технологии MPI Аксёнов С.В.
Барьерная синхронизация - MPI_Comm_rank( MPI_COMM_WORLD, &rank );
- if (rank == 0)
- {
- MPI_Bsend(buf1,20,MPI_INT,1,25,MPI_COMM_WORLD);
- MPI_Ssend(buf2,20,MPI_INT,1,26,MPI_COMM_WORLD);
- printf(“Отправка данных окончена \n”);
- }
- else if (rank==1)
- {
- MPI_Recv(source1, 20, MPI_INT, 0, 26, MPI_COMM_WORLD, &status);
- MPI_Recv(source2, 20, MPI_INT, 0, 25, MPI_COMM_WORLD, &status);
- printf(“Прием данных окончен \n”);
- }
- MPI_Barrier(MPI_COMM_WORLD);
- printf(“Завершение работы процесса %d \n”,rank);
- Параллельное программирование с использованием технологии MPI Аксёнов С.В.
Широковещательный обмен - Параллельное программирование с использованием технологии MPI Аксёнов С.В.
- int MPI_Bcast(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
-
- Вход/Выход buf: Адрес начала буфера
- Вход count: Количество записей в буфере
- Вход: datatype: Тип данных в буфере
- Вход root: Номер корневого процесса
- Вход comm: Коммуникатор
Do'stlaringiz bilan baham: |