Реализация распараллеливания программного комплекса расчета двумерных задач газовой динамики с помощью системы OST
- Главная
- Разное
- Реализация распараллеливания программного комплекса расчета двумерных задач газовой динамики с помощью системы OST
Содержание
- 2. Задачи работы: Привести программный комплекс M2DGD к формату системы OST: создать объекты (C++ или Java), включающие
- 3. Main { … Func1(a,b) …. Func2(c) … } Class M2GDG { … Public: main1() …. Private:
- 4. Менеджер объектов Object _M2GDG_1 Object _M2GDG_2 Object _M2GDG_3 Object _M2GDG_4 Процессор_1 (ядро) Процессор_2 (ядро) Процессор_3 (ядро)
- 5. Domain1 Domain2 Domain3 Domain4 Обтекание цилиндра с делением области на 4 подобласти Алгоритм счета предусматривает произвольную
- 7. Скачать презентацию
Слайд 2Задачи работы:
Привести программный комплекс M2DGD к формату системы OST: создать объекты (C++
Задачи работы:
Привести программный комплекс M2DGD к формату системы OST: создать объекты (C++
Реализовать параллельный счет нескольких независимых объектов, представляющих собой, по сути, программы M2DGD.
Создать алгоритм синхронизации областей при разбиении области счета на зависимые подобласти.
4. Используя алгоритм связи дописать функции взаимодействия подобластей и адаптировать систему OST для данной задачи.
5. Протестировать работу системы, сравнить скорость работы с MPI.
Слайд 3Main {
…
Func1(a,b)
….
Func2(c)
…
}
Class M2GDG {
…
Public:
main1()
….
Private:
Func1(a,b)
…
Func2(c)
…
}
Main {
….
Object_M2GDG->main1();
..
}
Программа M2GDG
Менеджер объектов
Объект M2GDG
Переход к объектно-ориентированному подходу
Счет осуществляется
Main {
…
Func1(a,b)
….
Func2(c)
…
}
Class M2GDG {
…
Public:
main1()
….
Private:
Func1(a,b)
…
Func2(c)
…
}
Main {
….
Object_M2GDG->main1();
..
}
Программа M2GDG
Менеджер объектов
Объект M2GDG
Переход к объектно-ориентированному подходу
Счет осуществляется
Публичной функцией можно взять весь main программы M2GDG
Слайд 4Менеджер объектов
Object _M2GDG_1
Object _M2GDG_2
Object _M2GDG_3
Object _M2GDG_4
Процессор_1
(ядро)
Процессор_2
(ядро)
Процессор_3
(ядро)
Процессор_4
(ядро)
Инициализация
Инициализация
Инициализация
Инициализация
Загрузка на процессор
Менеджер объектов
Object _M2GDG_1
Object _M2GDG_2
Object _M2GDG_3
Object _M2GDG_4
Процессор_1
(ядро)
Процессор_2
(ядро)
Процессор_3
(ядро)
Процессор_4
(ядро)
Инициализация
Инициализация
Инициализация
Инициализация
Загрузка на процессор
Загрузка на процессор (ядро)
Загрузка на процессор (ядро)
Загрузка на процессор (ядро)
Счет
Счет
Счет
Счет
Вывод данных
Вывод данных
Вывод данных
Вывод данных
Параллельный счет может быть осуществлен либо на МВС, либо на многоядерном компьютере. При использовании многоядерного компьютера требуется просто, запустить счет объектов в отдельных процессах, ОС сама раскидает их по ядрам
Слайд 5Domain1
Domain2
Domain3
Domain4
Обтекание цилиндра с делением области на 4 подобласти
Алгоритм счета предусматривает произвольную нумерацию
Domain1
Domain2
Domain3
Domain4
Обтекание цилиндра с делением области на 4 подобласти
Алгоритм счета предусматривает произвольную нумерацию
В связи с тем, что обратный обход должен быть осуществлен в том же порядке, необходим алгоритм синхронизации при делении на несколько подобластей
Возможное решение:
1. Обсчет вначале правых границ
2. Затем обсчет левых границ
3. Обсчет внутренних областей
4-6. Все в обратном порядке