Page 200 - 6571
P. 200
структуру пару груп при необхідності виконання колективних
операцій між процесами з різних груп.
При виконанні операцій передачі повідомлень у функціях
MPI необхідно вказувати тип даних, що пересилаються. MPI міс-
тить великий набір базових типів даних, багато в чому співпада-
ючих з типами даних в алгоритмічних мовах C і Fortran. Крім то-
го, в MPI є можливості створення нових похідних типів даних для
точнішого і коротшого опису вмісту повідомлень, що пересила-
ються.
Як вже відзначалося раніше, парні операції передачі даних
можуть бути виконані між будь-якими процесами одного і того ж
комунікатора, а в колективній операції беруть участь усі процеси
комунікатора. Логічна топологія ліній зв’язку між процесами має
структуру повного графа (незалежно від наявності реальних фі-
зичних каналів зв’язку між процесорами).
Проте, для викладу і подальшого аналізу ряду паралельних
алгоритмів доцільне логічне представлення наявної комунікацій-
ної мережі у вигляді тих або інших топологій.
У MPI є можливість представлення множини процесів у ви-
гляді решітки довільної розмірності. При цьому граничні процеси
решіток можуть бути оголошені сусідніми, і, тим самим, на осно-
ві решіток можуть бути визначені структури типу тор.
Приступаючи до вивчення MPI, можна відмітити, що, з одно-
го боку, MPI досить складний – в стандарті MPI передбачається
наявність більш ніж 120 функцій. З іншого боку, структура MPI є
ретельно продуманою – розробка паралельних програм може бу-
ти розпочата вже після розгляду усього лише 6 функцій MPI. Усі
додаткові можливості MPI можуть освоюватися по мірі росту
складності алгоритмів і програм, що розробляються.
21.3 Основні етапи створення паралельної
MPI-прогорами
Приведемо мінімально необхідний набір функцій MPI, доста-
тній для розробки порівняно простих паралельних програм.
Першою функцією MPI, що викликається з MPI-програми,
має бути функція:
int MPI_Init(int *argc, char ***argv)
199