3. Алгоритм распараллеливания.
Воспользуемся функциональным видом параллелизма. Общее число используемых процессов size n-1, где n – число уравнений в системе. Организуем цикл по времени от tнач до tмакс с шагом τ. В начальный момент времени все процессы знают начальные значения параметров.
На каждой итерации цикла будет выполняться следующее:
все процессы кроме нулевого вычисляют значения правых частей в конкретный момент времени. Причём процесс №1 вычисляет , процесс№2 - , процесс № size-1 - ;
все процессы, кроме нулевого процесса, вычисляют прогнозируемые значения параметров, причём процесс с rank=1 вычисляет , процесс с rank=2 - , процесс с rank=size-1 - ;
рабочие процессы пересылают на нулевой процесс вычисленные прогнозируемые значения параметров. Нулевой процесс собирает их в массив и рассылает их на рабочие процессы;
все процессы, кроме нулевого процесса, вычисляют прогнозируемые значения правых частей, причём процесс с №1 вычисляет , процесс с №2 - , процесс с №size-1 - ;
все процессы, кроме нулевого процесса, вычисляют новые скорректированные значения параметров, причём процесс с №1 вычисляет , процесс с №2 - , процесс с №size-1 - ;
рабочие процессы пересылают на нулевой процесс вычисленные скорректированные значения параметров. Нулевой процесс собирает полученные значения в массив и рассылает его на все рабочие процессы;
все процессы одновременно делают шаг по времени tk+1=tk+τ
все процессы проверяют условие окончания итерационного процесса, если итерационный процесс не закончен, то переходим к пункту №1, иначе – пункт№9
нулевой процесс печатает вычисленные значения параметров
Действие Rank | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
0 |
|
|
□□□□ |
|
|
□□□□ | tk+1=tk+τ | tk+1≤tmax | Печать Xk+1
|
1 |
|
|
|
|
|
| tk+1=tk+τ | tk+1≤tmax |
|
2 |
|
|
|
|
|
| tk+1=tk+τ | tk+1≤tmax |
|
… | … | … | … | … | … | … | … | … | … |
Size -1 |
|
|
|
|
|
| tk+1=tk+τ | tk+1≤tmax |
|
- Содержание курса
- Общие сведения.
- Топологии Виды топологий
- Программирование «Трубы»
- Программирование «Звезды»
- Программирование «Клика»
- Синхронный обмен данными
- Функции синхронного обмена данными
- Примеры:
- Задание 1:
- Задание 2:
- Задание 3:
- Асинхронный обмен данными
- Функции необходимые для асинхронного обмена данными
- Пример:
- Определение времени вычисления на Parsytec.
- Определение времени в программе
- Структура компьютера
- Константы, типы данных, структуры mpi
- Тип данных mpi_Datatype
- Предопределённые константы
- Сообщения
- Функции mpi
- Функция передачи данных с блокировкой
- Дополнительные функции
- Виды параллелизма Геометрический (распараллеливание по пространству)
- Функциональный (распараллеливание по процессам)
- Конвейерный
- Параллелизм типа принятия коллективного решения
- Ускорение и эффективность вычислений на мвс
- Метод Рунге-Кутта 4
- 2. Расчётные формулы:
- 3. Алгоритм распараллеливания.
- Метод прогноза коррекции
- 2. Расчётные формулы
- 3. Алгоритм распараллеливания.
- 4. Ускорение вычислений.
- 4. Ускорение и точность вычислений.
- Решение уравнений в частных производных
- Колебания мембраны
- 2. Расчетные формулы
- Решение стационарных уравнений на мвс
- 2. Расчётные формулы
- Алгоритм распараллеливания.
- Ускорение вычислений
- Оптимизация на мвс
- Расчётные формулы
- Алгоритм распараллеливания
- Ускорение вычислений.