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