🗊Презентация Библиотека MPI: Виртуальные топологии процессов. Лекция 6

Нажмите для полного просмотра!
Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №1Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №2Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №3Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №4Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №5Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №6Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №7Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №8Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №9Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №10Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №11Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №12Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №13Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №14Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №15Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №16Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №17Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №18Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №19Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №20Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №21Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №22Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №23Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №24Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №25Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №26Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №27

Вы можете ознакомиться и скачать презентацию на тему Библиотека MPI: Виртуальные топологии процессов. Лекция 6. Доклад-сообщение содержит 27 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №1
Описание слайда:

Слайд 2





Топология – механизм сопоставления процессам коммуникатора альтернативной схемы адресации
Топология – механизм сопоставления процессам коммуникатора альтернативной схемы адресации
В MPI топологии – виртуальные
В MPI два типа топологий:
 Декартова топология
 Топология графа
Описание слайда:
Топология – механизм сопоставления процессам коммуникатора альтернативной схемы адресации Топология – механизм сопоставления процессам коммуникатора альтернативной схемы адресации В MPI топологии – виртуальные В MPI два типа топологий: Декартова топология Топология графа

Слайд 3





MPI_Topo_test(MPI_Comm comm, 
int *status) 
MPI_Topo_test(MPI_Comm comm, 
int *status) 

Возможные значения status:
MPI_GRAPH
MPI_CART
MPI_UNDEFINED
Описание слайда:
MPI_Topo_test(MPI_Comm comm, int *status) MPI_Topo_test(MPI_Comm comm, int *status) Возможные значения status: MPI_GRAPH MPI_CART MPI_UNDEFINED

Слайд 4







MPI_Cart_create(MPI_Comm comm_old, int ndims, int *dims, 
int *periods, int reorder, MPI_Comm *comm_cart)

	Если размеры заказываемой сетки больше имеющегося в группе числа процессов, то функция завершается аварийно
Описание слайда:
MPI_Cart_create(MPI_Comm comm_old, int ndims, int *dims, int *periods, int reorder, MPI_Comm *comm_cart) Если размеры заказываемой сетки больше имеющегося в группе числа процессов, то функция завершается аварийно

Слайд 5


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №5
Описание слайда:

Слайд 6





MPI_Dims_create(int nnodes, 
int ndims, int *dims)
MPI_Dims_create(int nnodes, 
int ndims, int *dims)

Вычисляются только те компоненты для которых   dims[i]=0
Создается максимально равномерное распределение процессов вдоль направлений, выстраивая их по убыванию: для 12 –> 4х3х1
Описание слайда:
MPI_Dims_create(int nnodes, int ndims, int *dims) MPI_Dims_create(int nnodes, int ndims, int *dims) Вычисляются только те компоненты для которых dims[i]=0 Создается максимально равномерное распределение процессов вдоль направлений, выстраивая их по убыванию: для 12 –> 4х3х1

Слайд 7


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №7
Описание слайда:

Слайд 8







MPI_Cartdim_get(MPI_Comm comm, int *ndims) 

MPI_Cart_get(MPI_Comm comm, 
int ndims, int *dims, 
int *periods, int *coords)
Описание слайда:
MPI_Cartdim_get(MPI_Comm comm, int *ndims) MPI_Cart_get(MPI_Comm comm, int ndims, int *dims, int *periods, int *coords)

Слайд 9







MPI_Cart_rank(MPI_Comm comm, 
int *coords, int *rank)

Для измерений с периодическими граничными условиями будет выполняться приведение к основной области определения 
0 <= coords(i) < dims(i)
Описание слайда:
MPI_Cart_rank(MPI_Comm comm, int *coords, int *rank) Для измерений с периодическими граничными условиями будет выполняться приведение к основной области определения 0 <= coords(i) < dims(i)

Слайд 10







MPI_Cart_coords(MPI_Comm comm, int rank, int ndims, 
int *coords)
Описание слайда:
MPI_Cart_coords(MPI_Comm comm, int rank, int ndims, int *coords)

Слайд 11





MPI_Cart_shift(MPI_Comm comm, 
int direction, int disp, 
int *rank_source, 
int *rank_dest)
MPI_Cart_shift(MPI_Comm comm, 
int direction, int disp, 
int *rank_source, 
int *rank_dest)

MPI_PROC_NULL
Описание слайда:
MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest) MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest) MPI_PROC_NULL

Слайд 12


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №12
Описание слайда:

Слайд 13





int dest[][]={{1,0,3,2,5,4,7,6},
int dest[][]={{1,0,3,2,5,4,7,6},
				 {2,3,0,1,6,7,4,5},
				 {4,5,6,7,0,1,2,3}};

sum = data;
for(int i=0; i < 3; i++) {
	MPI_Send(sum,…dest[i][rank],…);
	MPI_Recv(r_data,…dest[i][rank],…);
	sum += r_data;
}
Описание слайда:
int dest[][]={{1,0,3,2,5,4,7,6}, int dest[][]={{1,0,3,2,5,4,7,6}, {2,3,0,1,6,7,4,5}, {4,5,6,7,0,1,2,3}}; sum = data; for(int i=0; i < 3; i++) { MPI_Send(sum,…dest[i][rank],…); MPI_Recv(r_data,…dest[i][rank],…); sum += r_data; }

Слайд 14





MPI_Comm d_topo;
MPI_Comm d_topo;
int dims[3] = {2,2,2};
int periods[3] = {1,1,1};
int reorder = 0, src, dest;
MPI_Cart_create(MPI_COMM_WORLD, 3, dims, periods, reorder, &d_topo);

sum = data;
for(int i=0; i < 3; i++) {
	MPI_Cart_shift(d_topo, i, 1, &src, &dest); 
	MPI_Send(sum,…dest,…);
	MPI_Recv(r_data,…src,…);
	sum += r_data;
}
Описание слайда:
MPI_Comm d_topo; MPI_Comm d_topo; int dims[3] = {2,2,2}; int periods[3] = {1,1,1}; int reorder = 0, src, dest; MPI_Cart_create(MPI_COMM_WORLD, 3, dims, periods, reorder, &d_topo); sum = data; for(int i=0; i < 3; i++) { MPI_Cart_shift(d_topo, i, 1, &src, &dest); MPI_Send(sum,…dest,…); MPI_Recv(r_data,…src,…); sum += r_data; }

Слайд 15





MPI_Cart_sub(MPI_Comm comm, 
int *remain_dims, 
MPI_Comm *newcomm)
MPI_Cart_sub(MPI_Comm comm, 
int *remain_dims, 
MPI_Comm *newcomm)

remain_dims[i] = true
remain_dims[i] = false
Из 2х3х4  remain_dims={true, false, true}
получаем 3 коммуникатора 
с топологией 2х4
Описание слайда:
MPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *newcomm) MPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *newcomm) remain_dims[i] = true remain_dims[i] = false Из 2х3х4 remain_dims={true, false, true} получаем 3 коммуникатора с топологией 2х4

Слайд 16





int MPI_Graph_create( 
MPI_Comm comm, int nnodes, 
int *index, int *edges, 
int reorder, 
MPI_Comm *comm_graph)
int MPI_Graph_create( 
MPI_Comm comm, int nnodes, 
int *index, int *edges, 
int reorder, 
MPI_Comm *comm_graph)

index[nnodes]- суммарное количество соседей для первых i вершин
edges[index[nnodes-1]]- упорядоченный список номеров 
процессов-соседей всех вершин
Описание слайда:
int MPI_Graph_create( MPI_Comm comm, int nnodes, int *index, int *edges, int reorder, MPI_Comm *comm_graph) int MPI_Graph_create( MPI_Comm comm, int nnodes, int *index, int *edges, int reorder, MPI_Comm *comm_graph) index[nnodes]- суммарное количество соседей для первых i вершин edges[index[nnodes-1]]- упорядоченный список номеров процессов-соседей всех вершин

Слайд 17


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №17
Описание слайда:

Слайд 18







MPI_Graph_neighbors_count( 
MPI_Comm comm, int rank, 
int *neighbors_count)

MPI_Graph_neighbors( MPI_Comm comm, int rank, int max, 
int *neighbors)
Описание слайда:
MPI_Graph_neighbors_count( MPI_Comm comm, int rank, int *neighbors_count) MPI_Graph_neighbors( MPI_Comm comm, int rank, int max, int *neighbors)

Слайд 19







MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges)

MPI_Graph_get(MPI_Comm comm, 
int nnodes, int nedges, 
int *index, int * edges)
Описание слайда:
MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges) MPI_Graph_get(MPI_Comm comm, int nnodes, int nedges, int *index, int * edges)

Слайд 20


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №20
Описание слайда:

Слайд 21


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №21
Описание слайда:

Слайд 22


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №22
Описание слайда:

Слайд 23


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №23
Описание слайда:

Слайд 24


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №24
Описание слайда:

Слайд 25


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №25
Описание слайда:

Слайд 26


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №26
Описание слайда:

Слайд 27


Библиотека MPI: Виртуальные топологии процессов. Лекция 6, слайд №27
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию