ЗИМНЯЯ СТУДЕНЧЕСКАЯ ШКОЛА ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ Реализация метода частиц в ячейках FPIC (PIC – Particle In Cell) Исполнитель: Хасина Женя, ФИТ,

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



Advertisements
Похожие презентации
Зимняя студенческая школа по параллельному программированию, 2012 Моделирование самогравитирующего вещества методом частиц в ячейках Исполнители: Двореченская.
Advertisements

Параллельная реализация метода частиц в ячейках (PIC) в системе Charm++ Студентка: Ткачёва А.А., ФПМИ, 5 курс Руководитель: Перепелкин В.А. Зимняя школа,
1 Система автоматизации распараллеливания. Отображение на SMP-кластер. Автор: Картавец Евгений Олегович Научные руководители: д.ф.-м.н. Крюков Виктор Алексеевич.
КОМПЬЮТЕРНАЯ ОБРАБОТКА ЧИСЛОВЫХ ПОТОКОВ С ПОМОЩЬЮ ВЭЙВЛЕТОВ Выполнил : Терехин Николай, 545 Научный руководитель : Демьянович Ю. К.
Летняя школа по параллельному программированию 2012 Название проекта: Клеточно-автоматное моделирование синхронного режима разделения фаз с помощью MPI.
Зимняя школа 2013 Параллельная реализация построения множества Мандельброта Выполнил: Матвеев Алексей, ФИТ 3 курс Руководитель: Перепелкин Владислав Александрович.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 2 Томский политехнический.
МГУ им. М.В. Ломоносова, Москва, 21 октября 2011г. КОНСОРЦИУМ УНИВЕРСИТЕТОВ РОССИИ Курс: «Технология параллельного программирования OpenMP» Лабораторная.
Усовершенствование языка и компилятора Для системы фрагментированного программирования Крупин Сергей ФИТ НГУ 3 курс Руководитель: Перепёлкин Владислав.
Разработка и оптимизация исполнительной системы фрагментированного программирования Руководители: Перепёлкин В.А. Щукин Г.А. Студенты: Беляков С.А. гр.ПМИ-81.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Система автоматизации распараллеливания: DVM-эксперт Блюменберг Э.П. 528 Научный руководитель: профессор В.А. Крюков.
Параллельная реализация экономичных методов параболических задач.
Исследование проблемы неинвариантности относительно поворота при решении уравнения Пуассона на декартовой сетке. Выполнили: Агафонцев А.А. Добролюбова.
Исследование проблемы неинвариантности относительно поворота в методе частиц в ячейках (PIC) Выполнили: Агафонцев А.А. Веретельникова И.В. Руководитель:
Разработка параллельных приложений для многоядерных систем С.В. Ковальчук НИИ Наукоемких компьютерных технологий, СПбГУ ИТМО.
Интернет Университет Суперкомпьютерных технологий Отладка эффективности OpenMP- программ. Учебный курс Параллельное программирование с OpenMP Бахтин В.А.,
Распараллеливание построения среднеквадратических приближений сплайнами восьмого порядка аппроксимации Полуянов С.В.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Зимняя Школа Параллельного Программирования 2011 Проект «Фрагментированное Программирование» : генератор графа фрагментированной программы для алгоритма.
Транксрипт:

ЗИМНЯЯ СТУДЕНЧЕСКАЯ ШКОЛА ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ Реализация метода частиц в ячейках FPIC (PIC – Particle In Cell) Исполнитель: Хасина Женя, ФИТ, НГУ, 2 курс Руководитель: Перепёлкин Владислав Александрович Дата доклада: 3 февраля 2012 года

План доклада Изначальная программа Условия распараллеливания Программа, распараллеленная с помощью OpenMP Она же распараллеленная с помощью MPI

Постановка задачи Был описан метод PIC мы его знаем Была дана последовательная программа, реализующая PIC метод. Задача была – распараллелить данную программу

Идея решения: краткое описание хода работы Сведение программы к двухмерному виду из трёхмерного Распараллеливание с помощью OpenMP Выполнение лабораторных работ с целью освоения MPI Реализация с помощью MPI Тестирование

Реализация с OpenMP Профилирование выявило самые трудоёмкие процедуры: move_particle и density В выбранных функциях использовались команды препроцессора для Си #pragma omp parallel for для циклов, а также #pragma omp single, где параллелизм был не нужен. Для for в качестве clause был выбран schedule(static, N/6), где N – количество итераций циклов, поскольку на удалённом компьютере Vita, где реализовывался и исполнялся, тестировался данный вариант 6 ядер.

Результаты OpenMP Итого разница между конечным вариантом и начальным - в 4,2 раза млн. частиц и размер сетки 64x64 Без распараллеливания 101 После распараллеливания функции move_particle 59 При полном распараллеливании (2-ух функций) 24

Реализация с помощью MPI Идея: каждый процесс получит только часть из общего количества частиц, но полную сетку. Для каждого процесса считается плотность частиц в сетке Все они суммируются в корневом нулевом процессе с помощью MPI_Reduce Затем производятся действия только в корневом процессе по вычислению потенциалов в сетке. С помощью MPI_Bcast рассылаем результат (сетку потенциалов) во все процессы, считаем силы, скорости, смещаем частицы и т.д Был вариант Редуцирования уже сеток потенциалов. 2. Был вариант с тем чтобы делать Bcast уже для 2-ух сеток с силами: Fx, Fy, вычисленных по потенциалам.

Результаты реализации с MPI Выполнялось на кластере Суперцентра ВЦ и на Vita Каждый узел по 8 ядер 1 узел2 узла4 узла8 узлов16 узловкол-во частицразмер сетки 4540,739,541,845, x64 100%90,4%87,7%92,8%101,3% 170,7148,5140, , x32 100%86,9%82,2%93,1%94,2% 292,3256,2248,5262,5263, x32 100%87,6%85%89,8%90,2% 291,8255,6272, x16 100%87,5%93,2%96,6%81,5% На 6-ядерной Vita 8 процессов -> 36,1

T посл T 1 узел время Кол-во узлов 12

Заключение Познакомилась с OpenMP, MPI Впервые распараллелила программу Впервые поработала на 6-ядерном компьютере, а также на кластере Удалось достичь некоторых результатов в смысле ускорения работы программы

СПАСИБО ЗА ВНИМАНИЕ!