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
   195   196   197   198   199   200   201   202   203   204   205