Методы передачи данных типа "точка-точка" в MPI
Цель - изучить назначение и применение функций MPI_Send и MPI_Recv и их разновидностей для обмена данными между MPI-процессами
Наиболее часто используемыми блокирующими функциями передачи данных типа "точка-точка" являются функции MPI_Send и MPI_Recv.
Задача 1. Оттранслировать и запустить на выполнение с параметром -np 2 программу, показанную ниже, в которой процесс с номером 0 "пингует" (посылает тестовое сообщение, в данном случае, длины 1) процесс с номером 1, и ждет от него ответного сообщения.
Задача 2. Запустить данную программу с параметром -np N, где N > 2 и объяснить поведение MPI-процессов с рангом > 2.
Задача 3. Изменить программу из Задачи 1 так, чтобы процесс с номером 0 "пинговал" все процессы в группе (кроме, естественно, самого себя), посылая им однобайтовые сообщения и принимая от них такие же ответные сообщения.
Задача 4. Оттранслировать и запустить на выполнение программу, показанную ниже, в которой между соседними процессами, объединенными в кольцо, происходит обмен сообщениями, содержащими ранг посылающего процесса. Изучить по документации назначение и способы применения команд MPI_Isend, MPI_Irecv, MPI_Waitall.
Задача 5. Объяснить поведение программы при ее запуске с параметром -np 1.