1 / 14

Задачи вычислительной математики на GPU

Задачи вычислительной математики на GPU. Выполнили: Деханова Александра Родионова Елена Чуринов Андрей. Цель работы:. Изучение методов вычислительной математики, которые можно успешно перенести на GPU Оценка возможности ускорения вычислений путем перевода их на GPU

levia
Download Presentation

Задачи вычислительной математики на GPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Задачи вычислительной математики на GPU Выполнили: Деханова Александра Родионова Елена Чуринов Андрей

  2. Цель работы: • Изучение методов вычислительной математики, которые можно успешно перенести на GPU • Оценка возможности ускорения вычислений путем перевода их на GPU • Рассматриваемые алгоритмы: • Выравнивание последовательностей с высокой пропускной способностью • Решение эллиптического дифференциальногоуравнения вчастных производных • Разрывный метод Галёркина

  3. Выравнивание последовательностей с высокой пропускной способностью (1) Задача: сравнение последовательностей ДНК и нахождение новых генов Алгоритм выравнивания последовательностей: • Входные данные: • последовательность запрос • последовательность ссылка • Переупорядочивание данных: • построение дерева суффиксов для последовательности ссылки • запрос последовательность разбиваем на блоки Загрузка данных на GPU Пример выровненных последовательностей: FTFTALILLAVAV --FTAL-LLAV-- Выравнивание последовательностей Перенос результата на CPU Печать выровненных последовательностей

  4. Выравнивание последовательностей с высокой пропускной способностью (2) • Структура суффикс дерева: • узлы дерева суффиксов перестраиваются в кэшированные блоки • используются «широкие» или «высокие» блоки в зависимости от высоты: • недалеко от корня - корень и его «дети» находятся в одном или соседних блоках • вдали от корня – «дети», «внуки» и «правнуки» находятся в одном или соседних блоках Суффикс дерево, разбитое в памяти на блоки • Ускорениедостигается за счет: • использование кэша на каждом процессоре • переупорядочивание данных для ускорения доступа

  5. Выравнивание последовательностей с высокой пропускной способностью (3) Алгоритм дает значительное ускорение для больших наборов коротких запросов, которые начинают доминировать при упорядочивание генома Ускорение работы алгоритма на GPU по сравнению с алгоритмом на CPU [Schatz. 2007] Ускорение - Ускорение, k • Эксперимент: • [Schatz. 2007] • последовательность ссылка – геном нематода • подаем большой набор коротких запросов • Результаты: • : 38 минут • : 10 минут • При усложнении исходного генома и увеличении количества запросов ускорение будет увеличиваться Длина последовательности запроса

  6. Решение эллиптического дифференциальногоуравнения вчастных производных (1) • Рассматривалось двумерное уравнение следующего вида с граничными условиями • Уравнения такого вида применяются для решения стационарных задач математической физики • Решение уравнения сводится к нахождению сеточных функций uh(xi , yj) узлов сетки, которые находятся методом Зейделя

  7. Решение эллиптического дифференциальногоуравнения вчастных производных (2) Распараллеливание метода Зейделя: [Матвеева. 2009] • Новое значение в красном узле зависит только от текущих значений в самом узле и соседних с ним узлах, помеченных черным цветом • Новое значение в черном узле зависит только от текущих значений в самом узле и соседних с ним узлах, помеченных красным цветом • Вычисления происходят в n/2 блоков независимо и параллельно В 1-м потоке В (m-2)-м потоке Блок 1 n Блок 2 m Разбиение элементов по блокам и потокам

  8. Решение эллиптического дифференциальногоуравнения вчастных производных (3) Сравнение времени работы на CPU и GPU производилась на тестовом ДУЧП В серии экспериментов исследовалась зависимость величины ускорения от количества узлов в сетке Ускорение, k На сетке из 420 узлов достигается ускорение в 58 раз : 145,1 сек : 2,5 сек Количество узлов сетки [Матвеева. 2009] График величины ускорения (при изменении количества узлов сетки)

  9. Разрывный метод Галёркина (1) • Применение разрывного метода Галёркина: • Задачи теплопроводности • Задачи вычислительной гидродинамики • Задачи электродинамики (решение уравнений Максвелла) 78745 элементов 7894172 элементов [Cabel. 2011] [Klockner. 2009]

  10. Разрывный метод Галёркина (2) • Задача + граничные условия • Делим область равномерной сеткой на конечные элементы • Домножаем на пробную функцию и интегрируем по частям по каждой подобласти • Выбираем систему базисных функций, например полиномы Лагранжа • Ищем решение в виде • Получаем систему ОДУ, которую решаем явным методом Рунге-Кутты

  11. Разрывный метод Галёркина (3) • Разрывный метод Галёркина легко распараллелить за счет разделения области на конечные элементы, вычисления на которых можно производить независимо • Основная сложность – недостаток совместноиспользуемой памя-ти на GPU(по сравнению с CPU). Необходимо минимизировать число обращений к глобальной памяти • Привычислениях на несколь-кихGPU можно еще получить еще большее ускорение • Качественные результаты • [Cabel. 2011]: • Сетка: 7894172 элементов • Степень базисных полиномов: 3 • : 2786 сек • : 97 сек GFlops/s Ускорение, k Степень базисных полиномов Производительность разрывного метода Галёркина на GPU и на СPU на сетке из 78745 элементов. Вычисления были сделаны с одинарной точностью. [Klockner. 2009]

  12. Выводы: • Быстрый рост производительности GPU по сравнению с CPU позволяет в несколько раз ускорить выполнение программ, благодаря частичному или полному переносу вычислений на GPU • Благодаря новой архитектуре массивно параллельных вычислений CUDA стало возможным задействовать десятки тысяч потоков одновременно, что позволило существенно увеличить производи-тельность для широкого круга различных вычислительных задач • Качественные результаты, полученные для рассмотренных методов:

  13. Спасибо!

  14. Литература • [Schatz. 2007] M. C. Schatz, C. Trapnell, A. L. Delcher, A. Varshney, “High-throughput sequence alignment using Graphics ProcessingUnits”,BMC Bioinformatics, 2007 • [Матвеева. 2009] Н. О. Матвеева, В. И. Горбаченко,“Решение эллиптического дифференциального уравнения в частных производных на графическом процессоре в технологии CUDA”, материалы международной конференции “Параллельные вычислительные технологии”, 2009 • [Klockner. 2009] A. Klockner, T. Warburton, J. Bridge, J. S. Hesthaven, “Nodal Discontinuous Galerkin Methods on Graphics Processors”, Journal of Computational Physics,2009 • [Guerder. 2011] P.-Y.Guerder, “Discontinuous Galerkin method applied to elastodynamics and its implementations for GPU computing”, France, EC Lille, January 2011 • [Cabel. 2011] T. Cabel, J. Charles, S.Lanteri, “Multi-GPU acceleration of a DGTD method for modeling human exposure to electromagnetic waves”, France, INRIA, April 2011

More Related