Page 167 - 4868
        P. 167
     165                                                              Ошибка! Стиль не определен.
               де
                       buf,  count,  type  –  буфер  пам’яті  з  повідомленням  (для  процесу  з
               рангом  0),  що  відправляється,  і  для  прийому  повідомлень  (для  усіх  інших
               процесів );
                       root – ранг процесу, що виконує розсилку даних;
                       comm – комунікатор, у рамках якого виконується передача даних.
                     Функція MPI_Bcast здійснює розсилку даних з буфера buf, що містить
               count елементів типу type, з процесу, що має номер root, усім процесам,
               що входять до комунікатора comm (рис. 2.2).
               Рисунок2.2 – Загальна схема операції передачі даних від одного процесу усім
                                                    іншим процесам
                     Слід зазначити, що:
                       функція MPI_Bcast визначає колективну операцію, і, тим самим, при
               виконанні необхідних розсилок даних  виклик функції  MPI_Bcast має бути
               здійснений усіма процесами вказуваного комунікатора;
                       вказуваний у функції MPI_Bcast буфер пам’яті має різне призначення
               у різних процесів: для процесу з рангом root, яким здійснюється розсилка
               даних, в цьому буфері повинне знаходитися повідомлення, що розсилається,
               а  для  усіх  інших  процесів  вказуваний  буфер  є  призначений  для  прийому
               даних, що передаються;
                       усі  колективні  операції  «несумісні»  з  парними  операціями  –  так,
               наприклад,  прийняти  широкомовне  повідомлення,  відіслане  за  допомогою
               MPI_Bcast, функцією MPI_Recv не можна, для цього можна задіяти тільки
               MPI_Bcast.
                     Приведемо        програму        для     вирішення        навчального        завдання
               підсумовування  елементів  вектору  з  використанням  розглянутої  функції
               (лістинг 2.8).
                     Лістинг 2.8– Паралельна програма підсумовування числових значень
                     #include <math.h>
                     #include <stdio.h>
                     #include <stdlib.h>





