Page 29 - 6601
P. 29

Л Ла аб бо ор ра ат то ор рн на а   р ро об бо от та а   №2
                                                                         №2

                                   Тема  роботи:  Створення  простих  паралельних  програм  з
                            використанням бібліотек МРІ.
                                   Мета  роботи:  Освоєння  навиків  використання  основних
                            функцій бібліотеки МРІ.
                                            2.1 Основні теоретичні відомості
                                   MPI - message passing interface - бібліотека функцій, та пакет
                            утіліт, призначених для підтримки роботи паралельних процесів в
                            термінах передачі повідомлень.
                                   Номер  процесу  -  ціле  додатнє  число,  що  є  унікальним
                            атрибутом кожного процесу.
                                   Атрибути повідомлення - номер процесу-відправника, номер
                            процесу-одержувача  і  ідентифікатор  повідомлення.  Для  них
                            заведена  структура  MPI_Status,  що  містить  три  поля:  MPI_Source
                            (номер    процесу     відправника),    MPI_Tag     (ідентифікатор
                            повідомлення), MPI_Error (код помилки); можуть бути і  додаткові
                            поля.
                                   Ідентифікатор    повідомлення     (msgtag)    -   атрибут
                            повідомлення, що є цілим додатнім числом, що лежить в діапазоні
                            від 0 до 32767.
                                   Процеси об'єднуються в групи, можуть бути вкладені групи.
                            Усередині  групи  всі  процеси  перенумеровані.  З  кожною  групою
                            асоційований  свій  комунікатор.  Тому  при  здійсненні  пересилки
                            необхідно вказати ідентифікатор групи, усередині якої проводиться
                            ця  пересилка.  Всі  процеси  містяться  в  групі  з  визначеним
                            ідентифікатором MPI_COMM_WORLD.
                                   При  описі  процедур  MPI  користуватимемося  словом  OUT
                            для  позначення  "вихідних  параметрів",  тобто  таких  параметрів,
                            через які процедура повертає результати.
                                   2.1.1 Загальні процедури MPI
                                   int MPI_Init( int* argc, char*** argv)
                                   MPI_Init  -  ініціалізація  паралельної  частини  додатку.
                            Реальна  ініціалізація  для  кожного  додатку  виконується  не  більше
                            одного  разу,  а  якщо  MPI  вже  ініціалізував,  то  ніякі  дії  не
                            виконуються і відбувається негайне повернення з підпрограми. Всі



                                                           27
   24   25   26   27   28   29   30   31   32   33   34