Параллельная реализация численного решения задачи на восстановление граничной функции для открытых акваторий Карепова Е.Д. Шайдуров В.В. Дементьева Е.В.

Презентация:



Advertisements
Похожие презентации
Исследование ускорения вычислений параллельных реализаций метода конечных элементов для уравнений мелкой воды Дементьева Екатерина.
Advertisements

Исследование эффективности параллельного алгоритма Монте-Карло моделирования внутренних свободномолекулярных течений Хохлов И.А. 4-й курс Московский физико-технический.
МГУ им. М.В. Ломоносова, Москва, 21 октября 2011г. КОНСОРЦИУМ УНИВЕРСИТЕТОВ РОССИИ Курс: «Технология параллельного программирования OpenMP» Лабораторная.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 2 Томский политехнический.
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
Сравнительный анализ некоторых методов композиции вычислительных подобластей студент: Данилин Александр научный руководитель: Илюшин Александр Иванович.
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
Сравнение возможностей инструментария разработки программного обеспечения графических процессоров.
1 Параллельный алгоритм расчета трехмерного поля давления при моделировании пространственных теплогидравлических процессов Ю.В. Юдов, А.В. Владимиров ФГУП.
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Санкт-Петербург 2009 Санкт-Петербургский государственный университет.
2 из 21 Введение в Cache-oblivious алгоритмы: –Определение Cache-oblivious алгоритмов. –Модель памяти компьютера. –Cache-oblivious модель –Примеры сache-oblivious.
Центр вычислительных технологий АИЦ СВФУ. Содержание ЦВТ – Зачем? – Цели и задачи – Вычислительные кластера – Коллектив Образовательная деятельность –
Сравнение различных способов декомпозиции сеточной области при численном решении уравнения переноса Е.А. Данилкин, А.В. Старченко Томский государственный.
Стр. 1 Часть 14 – Основы метода Эйлера. Стр. 2 Часть 14 – Основы метода Эйлера СОДЕРЖАНИЕ Основные положения метода Эйлера Основы метода конечных объёмов.
Московский государственный университет им.М.В.Ломоносова Институт вычислительной математики РАН Воеводин В.В., Воеводин Вл.В. СУПЕРВЫЧИСЛЕНИЯ:
Мортиков Е.В. 2 4 апреля 2014 г. НИВЦ МГУ М. В. Ломоносова Лаборатория суперкомпьютерного моделирования природно - климатических процессов ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ.
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
ПАРАЛЛЕЛЬНАЯ ФИЛЬТРАЦИЯ ИЗОБРАЖЕНИЙ Фурсов В.А., Попов С.Б. Самарский научный центр РАН, Самарский государственный аэрокосмический университет, Институт.
Интернет Университет Суперкомпьютерных технологий Отладка эффективности OpenMP- программ. Учебный курс Параллельное программирование с OpenMP Бахтин В.А.,
Суперкомпьютер «УРАН» Андрей Созыкин Заведующий сектором суперкомпьютерных технологии ИММ УрО РАН Заведующий кафедрой высокопроизводительных.
Транксрипт:

Параллельная реализация численного решения задачи на восстановление граничной функции для открытых акваторий Карепова Е.Д. Шайдуров В.В. Дементьева Е.В. Суперкомпьютерные технологии математического моделирования Якутск Институт вычислительного моделирования СО РАН

Overview Моделирование распространения поверхностных волн в больших акваториях Задача о граничной функции – задача оптимального управления Параллельный алгоритм Распределенная память: декомпозиция расчетной области, реализация обменов, реализации MPI и стратегия управления памятью Общая память: цикл с зависимостью по данным в теле цикла, проблема операции редукции Сравнение MPI и OpenMP Технология CUDA – пока больше проблем Численные эксперименты по восстановлению граничной функции

Моделирование поверхностных волн в больших акваториях Институт вычислительного моделирования СО РАН

Дифференциальная постановка прямой задачи

Пример расчетной области узлов, элементов, шаг сетки 0.3°

После дискретизации по времени на каждом временном шаге получаем эллиптическую задачу Граничные и начальные условия

Задача на ассимиляцию данных наблюдений В общем случае функция d не известна Для замыкания нашей задачи (1) – (3) рассмотрим дополнительное условие, заданное на части границы Г 0 : ЗАДАЧА. Найти граничную функцию d, компоненты скорости (u,v) и возвышение свободной поверхности ξ, удовлетворяющие системе (1), граничному условию (2), начальным данным (3) и условию замыкания (4). L = f + Bd, (5-6) C =φ ob [Агошков В.И. Методы оптимизации и сопряженные уравнения в задачах математической физики. – М: ИВМ РАН, с.]

Задача оптимального управления L = f + Bd, (5-6) C =φ ob (5)-(6) некорректна

Вариационные уравнения (Эйлера)

Внутренний источник. Динамическое восстановление

Решение задачи на установление для определения начальных данных За данные "наблюдений" принимались значения свободной поверхности из установившегося решения, а значения граничной d функции "забывались". на Г 2

Параллельный алгоритм Институт вычислительного моделирования СО РАН Распределенная память: декомпозиция расчетной области, реализация обменов, реализации MPI и стратегия управления памятью Общая память: цикл без зависимости по данным в теле цикла, проблема операции редукции Сравнение MPI и OpenMP Технология CUDA

2. Обмены данными точка-точка. Неблокирующие обмены: время коммуникаций не зависит от количества процессов, участвующих в обмене Распределенная память. MPI 1. Декомпозиция расчетной области. Без теневых граней: исходная область не включает взаимно перекрывающиеся подобласти. Пересчет значений на границах между подобластями предполагает обмен с дополнительным суммированием при обмене частичной невязкой на каждой итерации Якоби 3. Операция редукции по всем точкам расчетной области. Время редукции растет логарифмически от числа процессов

MVS-1000/ICM cluster (developed in ICM SB RAS) 99-cores cluster consists of: 27 computational nodes AMD Athlon64/3500+/1Gb (one-processor one-core); 12 computational nodes AMD Athlon64 X2 Dual Core/4800+/2Gb (one-processor two-core); 12 computational nodes 2 X Dual-Core AMD Opteron Processor 2216/4Gb (two-processor two-core). Manage node, access server, file server with 400 Gb disk space Athlon64/3500+/1Gb. Total disk space 1Тб. Operating system Gentoo Linux. Managing network FastEthernet (100 Mb/sec), Interconnect GigaEthernet (1000 Mb/sec).

SKIF Cyberia (cluster of the Tomsk state university) 283/566/ 1132 computational nodes/processors/cores Processor dual core Intel®Xeon® 5150, 2,66GHz (Woodcrest) Manage node dual core Intel®Xeon® 5150, 2,66GHz (Woodcrest) Interconnect InfiniBand (950 Mb/sec) Peak performance 12 TFlops Real performance for Linpack 9,013 TFlops (75% peak) Total main memory Gb Total disk space 22,56 Tb File server 10 Тб

Hewlett-Packard BL460c solution (cluster of the Novosibirsk state university & Institute of Computational Technologies) 64/ 512 computational nodes/cores Interconnect InfiniBand DDR 4x Peak performance TFlops Real performance for Linpack 4.09 TFlops Total main memory Gb File server 24 Тб

Зависимость ускорения вычислений от количества доступных процессоров для различных кластерных систем и способов реализаций двухточечных обменов

Время вычислений

Сравнение двух реализаций MPI и стратегий управления памятью В исследовании была сопоставлена производительность двух популярных реализаций MPI: MPICH2 v.1.2.1p1 OpenMPI v.1.4.1, являющегося «наследником» пакета LAM Рассматриваемая задача тестировалась в двух модификациях выделением памяти под основные массивы и буферы: со статическим с динамическим (calloc/free) Сразу отметим, что вариант со статическим выделением не показал существенного преимущества какого-то одного пакета: расхождения во времени счета и во времени обменов данными во всех опробованных конфигурациях оказались достаточно малы, чтобы не принимать их во внимание.

Ускорение: Теория VS Численный эксперимент

Гибридная модель: MPI+OpenMP Идеология: каждый MPI-процесс порождает несколько нитей OpenMP Мотивация: Широкое распространение распределенных систем с многоядерными узлами, кластеров из SMP-систем; Эффективное использование многоуровневой иерархии памяти: обращение к общей памяти вместо MPI-сообщений; меньший объем вычислений (не требуется дополнительное суммирование при обмене частичной невязкой на каждой итерации Якоби).

Общая память. OpenMP Время на создание/уничтожение нитей. Время на синхронизацию нитей при распределении работы тела цикла. В опции schedule конструкции #pragma omp for можно управлять параметром распределения итераций цикла между нитями («портфель задач»): - STATIC – статически, блоками по m итераций; - DYNAMIC – динамически, блоками по m (каждая нить берет на выполнение первый еще не взятый блок итераций); - GUIDED – размер блока итераций уменьшается экспоненциально до величины m; Время на синхронизацию нитей внутри основного цикла при сборке невязки по треугольникам. Время на синхронизацию при выполнении глобальной редукции при расчете критерия останова итераций Якоби.

Различное распределения итераций цикла между нитями

Зависимость ускорения вычислений от количества доступных нитей OpenMP

Сравнение OpenMP и MPI Ускорение: S p =T 1 /T p + 47%+ 3%

Гибридная модель: MPI+OpenMP

Гибридная модель: MPI+OpenMP.

Технология CUDA Nvidia Tesla C2050 Число ядер CUDA: 448 Частота работы ядер CUDA: 1.15 GHz Производительность операций с плавающей запятой с двойной точностью (пиковая): 515 GFlop Производительность операций с плавающей запятой с одинарной точностью (пиковая): 1.03 TFlop Полный объем памяти: 3Gb Частота памяти: 1.5 GHz Пропускная способность: 144 Gb/s

Задача Дирихле для уравнения Пуассона методом Якоби конечными разностями Размер сетки (N*N): N Коли-во итераций Время (CPU), с Время (GPU), с Ускорение Время без глоб. редукции (GPU), с Ускорение ,373,764,893,016, ,0617,906,9315,008, ,4059,918,1552,389, ,60191,608,33167,519, ,20286,408,31252,899, ,28614,288,70546,659, ,431079,818,71961,459,79

Задача Дирихле для уравнения Пуассона методом Якоби конечными разностями

Численные эксперименты по восстановлению граничной функции Institute of Computational Modeling of SB RAS

Киреев И.В., Пятаев C.Ф. Пикселная технология дискретизации акватории Мирового океана // Вычислительные технологии Т.14, 5. - C

Dynamic recovery ξ (II, with space)

Решение задачи на установление для определения начальных данных За данные "наблюдений" принимались значения свободной поверхности из установившегося решения, а значения граничной d функции "забывались". на Г 2

Наблюдаемые данные 1.Smooth 2.With white noise 3.Observation with gaps

Восстановление с «гладкими» данными наблюдений

Восстановление с «зашумленными» данными наблюдений (I)

Восстановление с «зашумленными» данными наблюдений (II)

Восстановление с данными наблюдений, заданными на части жидкой границы (II)

Внутренний источник. Динамическое восстановление

Dynamic recovery, ξ (I)

Dynamic recovery, d (I)

Dynamic recovery ξ (II, with space)

Dynamic recovery d (II, with space)

Спасибо за внимание!