Page 212 - 6571
P. 212

(латентностей) на підготовку повідомлень, що передаються. Така
                  операція може бути виконана за log p ітерацій передачі даних.
                                                                   2
                        Досягнення ефективного виконання операції передачі даних
                  від одного процесу усім процесам програми (широкомовна розси-

                  лка даних ) може бути забезпечена за допомогою наступної фун-
                  кції MPI:

                        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 (рис. 22.1).
                        Слід зазначити, що:
                        -  функція MPI_Bcast визначає колективну операцію, і, тим

                  самим, при виконанні необхідних розсилок даних виклик функції
                  MPI_Bcast  має  бути  здійснений  усіма  процесами  вказуваного
                  комунікатора;























                   Рисунок 22.1 – Загальна схема операції передачі даних від одного
                                           процесу усім іншим процесам


                        -  вказуваний у  функції MPI_Bcast буфер пам’яті має різне
                  призначення у різних процесів: для процесу з рангом root, яким
                  здійснюється  розсилка  даних,  в  цьому  буфері  повинне  знаходи-

                                                             211
   207   208   209   210   211   212   213   214   215   216   217