Организация логических топологий процессов
Цель - изучить виды топологий MPI-процессов - декартовые и графовые, а также назначение и применение функций для их создания и управления ими.
В MPI поддерживается два основных типа виртуальных топологий:
- декартова (решеточная) и
- графовая.
Обе эти топологии строятся на основе групп и коммуникаторов и "программируются" разработчиком параллельного приложения.
Задача 1. В программе, представленной ниже, 16 процессов объединяются в декартову топологию 4 х 4:
В программе, каждый процесс обменивается своим рангом с четырьмя соседними процессами, где для процесса с координатами (i, j) его соседями считаются процессы с координатами
( i - 1, j ), ( i, j - 1 ), ( i, j + 1 ), ( i + 1, j + 1 ),
если их координаты не выходят за пределы заданной декартовой решетки.
Оттранслировать, выполнить и объяснить выданный результат для программы, представленной ниже.
Задача 2. Пусть для процесса с координатами (i, j) его соседями считаются процессы с координатами
( i - 1, j - 1 ), ( i - 1, j + 1 ), ( i + 1, j - 1 ), ( i + 1, j + 1 ).
Модифицировать предыдущую программу таким образом, чтобы каждый процесс осуществлял обмен рангами с новым множеством своих соседей.