Летняя школа 2012 Проект Программирование графических ускорителей Задача Моделирование движения N тел в гравитационном поле автор: Купчишин А.Б. руководитель:

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



Advertisements
Похожие презентации
Реализация модели многочастичного газа FHP-MP на графическом ускорителе Подстригайло Алена, гр Научный руководитель: к.ф.-м.н. Калгин К.В.
Advertisements

Сравнение возможностей инструментария разработки программного обеспечения графических процессоров.
НАЧИНАЕТСЯ С 01 АПРЕЛЯ 2012 ГОДА. 21 апреля 2012 года В
Анализ поведения тела-точки вблизи гравитационного центра Работу выполнил: Бублий И.Р. Научный руководитель: Иванова Е.А. САНКТ-ПЕТЕРБУРГСКИЙ ПОЛИТЕХНИЧЕСКИЙ.
Последовательное I общ = I 1 = I 2 U общ = U 1 + U 2 R общ = R 1 + R 2 Параллельное I общ = I 1 + I 2 U общ = U 1 = U 2.
ШАКУРОВ З.З. МАРИЙ ЭЛ, КУРАКИНСКАЯ СОШ ГЛАВА 1 «ПОСТРОЕНИЕ И ИССЛЕДОВАНИЕ ИНФОРМАЦИОННЫХ МОДЕЛЕЙ». Н. Д. Угринович «ИНФОРМАТИКА и ИКТ для 11 класса»
Факультет прикладной математики и физики Кафедра вычислительной математики и программирования МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ (национальный исследовательский.
Вопросы: 1.Длина траектории, по которой движется тело в течение некоторого промежутка времени. 2.Изменение с течением времени положения тела относительно.
Моделирование динамики твердых тел на GPU Выполнили: Гриднев Максим Машинский Леонид Присивко Вячеслав гр. 3057/2.
Графики в задачах по кинематике. Типы графических задач Задачи в которых нужно ответить на качественный вопрос Задачи на построение графика Задачи на.
ПОЛЕЩУК МАКСИМ АЛЕКСАНДРОВИЧ АЛГОРИТМЫ И ПРОГРАММЫ ДВУХУРОВНЕВЫХ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Кафедра вычислительной.
Параллельная реализация метода частиц в ячейках (PIC) в системе Charm++ Студентка: Ткачёва А.А., ФПМИ, 5 курс Руководитель: Перепелкин В.А. Зимняя школа,
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Санкт-Петербург 2009 Санкт-Петербургский государственный университет.
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Санкт-Петербург 2009 Санкт-Петербургский государственный университет.
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
РАЗРАБОТКА ИНСТРУМЕНТА ОПТИМИЗАЦИИ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ Руководитель: проф. Мулярчик Степан Григорьевич.
Зимняя студенческая школа по параллельному программированию, 2012 Моделирование самогравитирующего вещества методом частиц в ячейках Исполнители: Двореченская.
Клеточно-автоматное моделирование волновых процессов в неоднородной среде Летняя школа по параллельному программированию 2010 Студенты: Риндевич К., Медянкин.
Интернет Университет Суперкомпьютерных технологий Лекция 4 Методы построения параллельных программ (продолжение) Учебный курс Введение в параллельные алгоритмы.
Алгоритм – это … 1.Организованная последовательность действий 2.Понятное и точное предписание исполнителю совершить последовательность действий, направленных.
Транксрипт:

Летняя школа 2012 Проект Программирование графических ускорителей Задача Моделирование движения N тел в гравитационном поле автор: Купчишин А.Б. руководитель: Калгин К.В.

Постановка задачи Эффективно запрограммировать на графическом ускорителе N body system с небольшим количеством тел (N~20) Эффективно запрограммировать на графическом ускорителе N body system с небольшим количеством тел (N~20) Особенности Хранится вся траектория движения каждого тела Хранится вся траектория движения каждого тела Малое количество тел в системе, N~20 Малое количество тел в системе, N~20

F Модель N-body-system F F F F F Fr Fr Fr 1) 1) R->F->a->coord

Реализация последовательная реализация CPU (N 2 ) последовательная реализация CPU (N 2 ) оптимизированная последовательная реализация CPU (N 2 /2) оптимизированная последовательная реализация CPU (N 2 /2) параллельная реализация GPU: 1 поток = 1 тело параллельная реализация GPU: 1 поток = 1 тело параллельная реализация GPU: количество потоков = (количество тел) 2 параллельная реализация GPU: количество потоков = (количество тел) 2 параллельная реализация GPU: с учетом warp параллельная реализация GPU: с учетом warp параллельная реализация GPU: аналог SSE параллельная реализация GPU: аналог SSE Решение данной задачи производилось в несколько этапов

последовательная реализация Rij Aij NewCoord i = 1,количество j = 1,количество

оптимизированная последовательная реализация i = 1,количество j = i+1,количество Rij Aij, Aji NewCoord

параллельная реализация: 1 тело = 1 поток j = 1,количествоj = 2,количествоj = i+1,количество i = ID потока Rij Aij, Aji NewCoord Rij Aij, Aji NewCoord Rij Aij, Aji NewCoord

параллельная реализация: количество потоков = количество тел*количество тел ID - идентификатор потока i = f(ID) j = g(ID) R(01) A(01) A(10) R(0N) A(0,N) A(N0) R(12) A(12) A(21) Rij Aij Aji R(1N) A(1N) A(N1) NewCoord 000

параллельная реализация: warp ID - идентификатор потока i = f(ID) j = g(ID) R(01) A(01) A(10) R(0N) A(0,N) A(N0) R(12) A(12) A(21) RiN AiN ANi R(i,i+1) A(i,i+1) A(i+1,i) NewCoord R(1N) A(1N) A(N1) N N-1...

параллельная реализация: SSE ID - идентификатор потока i = f(ID) j = g(ID) R(01) A(01) A(10) R(0N) A(0,N) A(N0) R(12) A(12) A(21) RiN AiN ANi R(i,i+1) A(i,i+1) A(i+1,i) R(1N) A(1N) A(N1) N N-1... NewCoord X NewCoord Y NewCoord Z NewCoord X NewCoord Y NewCoord Z

производительность Время последовательного оптимизированного CPU = 1 у.е. Время последовательного оптимизированного CPU = 1 у.е. CPU не оптимизированный = 30 у.е. GPU N потоков = 2 GPU N*N потоков = 0.86 GPU warp = 0.75 GPU sse = 0.35

Продолжение внедрить параллельное суммирование xyz на ВСЕХ операциях такого типа. внедрить параллельное суммирование xyz на ВСЕХ операциях такого типа. реализация метода для большого количества тел реализация метода для большого количества тел использование более одного блока потоков, при N>256 использование более одного блока потоков, при N>256 конечная скорость распространения действия гравитационных сил конечная скорость распространения действия гравитационных сил

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