Page 204 - 6571
P. 204

nt, type) входить до складу параметрів практично усіх функцій
                  передачі даних;
                        -  процеси,  між  якими  виконується  передача  даних,  в
                  обов’язковому  порядку  повинні  належати  комунікаторові,  що

                  вказується у функції MPI_Send;
                        -  параметр  tag  використовується  тільки  при  необхідності

                  розрізнення  повідомлень,  що  передаються,  інакше  в  якості  зна-
                  чення параметра може бути використане довільне позитивне ціле
                  число.
                        Відразу  ж  після  завершення  функції  MPI_Send  процес-

                  відправник  може  почати  повторно  використовувати  буфер
                  пам’яті, в якому розташовувалося повідомлення, що відправляло-
                  ся.  Також  слід  розуміти,  що  у  момент  завершення  функції  MP-

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

                  тися  в  процесі-одержувачу  або  може  бути  прийнято  процесом-
                  одержувачем за допомогою функції MPI_Recv. Тим самим, заве-

                  ршення  функції  MPI_Send  означає  лише,  що  операція  передачі
                  почала виконуватися і пересилка повідомлення рано чи пізно бу-
                  де виконана.
                        Для  прийому  повідомлення  процес-  одержувач  повинен  ви-

                  конати функцію:

                        int MPI_Recv(void *buf, int count, MPI_Datatype type,
                              int  source  int  tag,  MPI_Comm  comm,  MPI_Status
                  *status)

                  де   buf, count, type – буфер пам’яті для прийому повідомлен-
                  ня, призначення кожного окремого параметра відповідає опису в
                  MPI_Send;

                        source – ранг процесу, від якого має бути виконаний прийом
                  повідомлення;
                        tag – тег повідомлення, яке має бути прийняте для процесу;

                        comm  –  комунікатор,  у  рамках  якого  виконується  передача
                  даних;
                        status  –  вказівник  на  структуру  даних  з  інформацією  про

                  результат виконання операції прийому даних.
                        Слід зазначити, що:



                                                             203
   199   200   201   202   203   204   205   206   207   208   209