Опубликован: 22.04.2008 | Уровень: профессионал | Доступ: платный
Дополнительный материал 5:

Методы передачи данных типа "точка-точка" в 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.

Дмитрий Молокоедов
Дмитрий Молокоедов
Россия, Новосибирск, НГПУ, 2009
Паулус Шеетекела
Паулус Шеетекела
Россия, ТГТУ, 2010