58.83K
Категория: ПрограммированиеПрограммирование

MPI. Базовые сведения

1.

MPI
Базовые сведения

2.

MPI
= Message Passing Interface
= интерфейс передачи сообщений
API для обмена сообщениями между процессами.
Использует принцип распределённой памяти (каждый
процесс хранит свою часть данных).

3.

Обмен сообщениями (почтовые ящики)
Мировое почтовое отделение (MPI_COMM_WORLD)
Абонентск
ий ящик
(Rank)
Отправитель
(Rank)
0
0
1
1
2
"123"
"Hello!"
[1, 5, 6, 9]
2
3
3
c
142

4.

Архитектура master-slave
2
1
0
3

5.

Разбиение задачи
D = D0 + D0 + D1 + … DN
f(D) = g[h(D0), h(D1), ... , h(DN)]

6.

Send / Receive
Send — послать сообщение (массив) заданному процессу.
Receive — ждать(!) и принять сообщение от заданного процесса.
<код>
<код>
Receive
Send
<код>
ждём...
<код>

7.

Scatter / Gather
0
данные
1
0
scatter
0
gather
2

8.

Broadcast (широкое вещание)
2
1
0
3

9.

[0] [1] [2]
Reduce
Process 0
+
Process 1
+
Process 2
result
English     Русский Правила