Page 228 - 6571
P. 228

bufpos = 0;
                        MPI_Unpack(buf, buflen, &bufpos, &a, 1, MPI_DOUBLE, c
                  mm);
                        MPI_Unpack(buf, buflen, &bufpos, &b, 1, MPI_DOUBLE, c

                  mm);
                        MPI_Unpack(buf, buflen, &bufpos, &n, 1, MPI_INT, comm);

                        На  завершення  висловимо  ряд  рекомендацій  щодо  застосу-
                  вання упаковки для формування повідомлень. Оскільки такий пі-
                  дхід призводить до появи додаткових дій з упаковки і розпаковки

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


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

                        1. Що розуміють під похідним типом даних у MPI-програмі?

                        2. Яка причина появи похідних типів даних у стандарті MPI?
                        3. Яким  чином  можна  задати  новий  похідний  тип  даних  у
                  MPI-програмі?
                        4. Що називається в стандарті MPI сигнатурою типу?

                        5. Якими  властивостями  характеризуються  похідні  типи  да-
                  них у MPI-програмі?
                        6. Що розуміють під поняттями границя та протяжність типу

                  у MPI?
                        7. Які  MPI-функції  використовують  для  отримання  значень
                  протяжності та розмірності типу?
                        8. Які існують способи конструювання похідних типів даних

                  у MPI-програмі?
                        9. Яку MPI-функцію використовують для оголошення похід-
                  ного типу даних?

                        10. Яку  MPI-функцію  використовують  для  видалення  похід-
                  ного типу даних?
















                                                             227
   223   224   225   226   227   228   229   230   231   232   233