Page 40 - 6601
P. 40
5. Як визначити час виконання MPI програми?
Л Ла аб бо ор ра ат то ор рн на а р ро об бо от та а №5
№5
Тема роботи: Колективне передавання різних даних в МРІ
Мета роботи: Вивчення колективних функцій
узагальненого передавання даних в МРІ.
5.1 Основні теоретичні відомості
Окрім функцій колективного обміну даних в МРІ, а саме
функції широкомовної розсилки MPI_Bcast та функції збору даних
від всіх процесорів MPI_Reduce, які відповідно передають всім
процесам одні й ті ж самі дані, або отримують від всіх процесів дані
і утворюють одне число, в МРІ передбачені функції колективного
передавання даних, які дозволяють обмінюватися різними даними.
Узагальнена операція передачі даних від одного процесу
всім процесам (розподіл даних) відрізняється від широкомовної
розсилки тим, що процес передає процесам дані, що відрізняються
(див. рис. 6.1). Виконання даної операції може бути забезпечене за
допомогою функції:
int MPI_Scatter(void *sbuf, int scount, MPI_Datatype stype, void
*rbuf, int rcount, MPI_Datatype rtype, int root, MPI_Comm
comm),
де:
- sbuf, scount, stype - параметри передаваного повідомлення
(scount визначає кількість елементів, що передаються на
кожен процес);
- rbuf, rcount, rtype - параметри повідомлення, що
приймається в процесах;
- root – номер процесу, що виконує розсилку даних;
- comm – група процесів(комунікатор), в рамках якого
виконується передача даних.
38