Page 210 - 6571
P. 210

ЛЕКЦІЯ 22

                            БАЗОВІ ФУНКЦІЇ ВИЗНАЧЕНІ У СТАНДАРТІ MPI



                        22.1 Визначення часу виконання MPI-програми


                        Практично  відразу  ж  після  розробки  перших  паралельних

                  програм виникає необхідність визначення часу виконання обчис-
                  лень  для  оцінки  показника  пришвидшення  процесу  рішення  за-
                  дач,  що  досягається,  за  рахунок  використання  паралелізму.  За-
                  звичай використовувані засоби для виміру часу роботи програм

                  залежать, як правило, від апаратної платформи, операційної сис-
                  теми, алгоритмічної мови і т.д. Стандарт MPI включає визначен-
                  ня спеціальних функцій для виміру часу, застосування яких до-

                  зволяє  усунути  залежність  від  середовища  виконання  паралель-
                  них програм.
                        Отримання поточного моменту часу забезпечується за допо-
                  могою функції:

                        double MPI_Wtime(void)

                  результат її виклику є кількість секунд, що пройшла від деякого

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

                  лежності  функцію  MPI_Wtime  слід  використовувати  тільки  для
                  визначення тривалості виконання тих або інших фрагментів коду
                  паралельних  програм.  Можлива  схема  застосування  функції  M

                  I_Wtime може полягати в наступному:

                        double t1, t2, dt;
                        t1 = MPI_Wtime();
                        . . .
                        t2 = MPI_Wtime();
                        dt = t2 - t1;

                        Точність  виміру  часу  також  може  залежати  від  середовища
                  виконання паралельної програми. Для визначення поточного зна-
                  чення точності може бути використана функція:

                        double MPI_Wtick(void)







                                                             209
   205   206   207   208   209   210   211   212   213   214   215