Page 218 - 6571
P. 218

Функція MPI_Barrier визначає колективну операцію, і, тим
                  самим, при використанні вона повинна викликатися усіма проце-
                  сами  використовуваного  комунікатора.  При  виклику  функції
                  MPI_Barrier  виконання  процесу  блокується,  продовження  об-

                  числень  процесу  станеться  тільки  після  виклику  функції  MP-
                  I_Barrier усіма процесами комунікатора.

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

                        int MPI_Abort(MPI_Comm comm, int errorcode)

                  де   comm – комунікатор, процеси якого необхідно аварійно зупи-
                  нити;
                        errorcode – код повернення з паралельної програми.

                        Ця функція коректно перериває виконання паралельної про-
                  грами, оповіщаючи про цю подію середовище MPI, на відміну від
                  функцій стандартної бібліотеки алгоритмічної мови C, таких, як

                  abort або terminate. Типове її використання полягає в наступ-
                  ному:

                        MPI_Abort(MPI_COMM_WORLD, MPI_ERR_OTHER);


                        Запитання для самоперевірки

                        1. Чому в MPI-програмі не рекомендується використовувати
                  стандартні засоби виміру часу виконання процесу?
                        2. Яка  MPI-функція  використовується  для  отримання  поточ-

                  ного моменту часу?
                        3. Яке призначення функції MPI_Wtick визначеної у MPI?
                        4. Яким  чином  відбувається  передача  даних  від  одного  про-

                  цесу усім іншим процесам MPI-програми?
                        5. Яке призначення функції MPI_Bcast визначеної у MPI?
                        6. Яким чином відбувається передача даних від усіх процесів
                  одному процесу MPI-програми?

                        7. Яке призначення функції MPI_Reduce визначеної у MPI?
                        8. Які Ви знаєте базові типи операцій MPI для функцій реду-

                  кції даних?
                        9. Яким  чином  досягається  синхронізація  процесів  у  MPI-
                  програмі?







                                                             217
   213   214   215   216   217   218   219   220   221   222   223