140 likes | 458 Views
Задачи вычислительной математики на GPU. Выполнили: Деханова Александра Родионова Елена Чуринов Андрей. Цель работы:. Изучение методов вычислительной математики, которые можно успешно перенести на GPU Оценка возможности ускорения вычислений путем перевода их на GPU
E N D
Задачи вычислительной математики на GPU Выполнили: Деханова Александра Родионова Елена Чуринов Андрей
Цель работы: • Изучение методов вычислительной математики, которые можно успешно перенести на GPU • Оценка возможности ускорения вычислений путем перевода их на GPU • Рассматриваемые алгоритмы: • Выравнивание последовательностей с высокой пропускной способностью • Решение эллиптического дифференциальногоуравнения вчастных производных • Разрывный метод Галёркина
Выравнивание последовательностей с высокой пропускной способностью (1) Задача: сравнение последовательностей ДНК и нахождение новых генов Алгоритм выравнивания последовательностей: • Входные данные: • последовательность запрос • последовательность ссылка • Переупорядочивание данных: • построение дерева суффиксов для последовательности ссылки • запрос последовательность разбиваем на блоки Загрузка данных на GPU Пример выровненных последовательностей: FTFTALILLAVAV --FTAL-LLAV-- Выравнивание последовательностей Перенос результата на CPU Печать выровненных последовательностей
Выравнивание последовательностей с высокой пропускной способностью (2) • Структура суффикс дерева: • узлы дерева суффиксов перестраиваются в кэшированные блоки • используются «широкие» или «высокие» блоки в зависимости от высоты: • недалеко от корня - корень и его «дети» находятся в одном или соседних блоках • вдали от корня – «дети», «внуки» и «правнуки» находятся в одном или соседних блоках Суффикс дерево, разбитое в памяти на блоки • Ускорениедостигается за счет: • использование кэша на каждом процессоре • переупорядочивание данных для ускорения доступа
Выравнивание последовательностей с высокой пропускной способностью (3) Алгоритм дает значительное ускорение для больших наборов коротких запросов, которые начинают доминировать при упорядочивание генома Ускорение работы алгоритма на GPU по сравнению с алгоритмом на CPU [Schatz. 2007] Ускорение - Ускорение, k • Эксперимент: • [Schatz. 2007] • последовательность ссылка – геном нематода • подаем большой набор коротких запросов • Результаты: • : 38 минут • : 10 минут • При усложнении исходного генома и увеличении количества запросов ускорение будет увеличиваться Длина последовательности запроса
Решение эллиптического дифференциальногоуравнения вчастных производных (1) • Рассматривалось двумерное уравнение следующего вида с граничными условиями • Уравнения такого вида применяются для решения стационарных задач математической физики • Решение уравнения сводится к нахождению сеточных функций uh(xi , yj) узлов сетки, которые находятся методом Зейделя
Решение эллиптического дифференциальногоуравнения вчастных производных (2) Распараллеливание метода Зейделя: [Матвеева. 2009] • Новое значение в красном узле зависит только от текущих значений в самом узле и соседних с ним узлах, помеченных черным цветом • Новое значение в черном узле зависит только от текущих значений в самом узле и соседних с ним узлах, помеченных красным цветом • Вычисления происходят в n/2 блоков независимо и параллельно В 1-м потоке В (m-2)-м потоке Блок 1 n Блок 2 m Разбиение элементов по блокам и потокам
Решение эллиптического дифференциальногоуравнения вчастных производных (3) Сравнение времени работы на CPU и GPU производилась на тестовом ДУЧП В серии экспериментов исследовалась зависимость величины ускорения от количества узлов в сетке Ускорение, k На сетке из 420 узлов достигается ускорение в 58 раз : 145,1 сек : 2,5 сек Количество узлов сетки [Матвеева. 2009] График величины ускорения (при изменении количества узлов сетки)
Разрывный метод Галёркина (1) • Применение разрывного метода Галёркина: • Задачи теплопроводности • Задачи вычислительной гидродинамики • Задачи электродинамики (решение уравнений Максвелла) 78745 элементов 7894172 элементов [Cabel. 2011] [Klockner. 2009]
Разрывный метод Галёркина (2) • Задача + граничные условия • Делим область равномерной сеткой на конечные элементы • Домножаем на пробную функцию и интегрируем по частям по каждой подобласти • Выбираем систему базисных функций, например полиномы Лагранжа • Ищем решение в виде • Получаем систему ОДУ, которую решаем явным методом Рунге-Кутты
Разрывный метод Галёркина (3) • Разрывный метод Галёркина легко распараллелить за счет разделения области на конечные элементы, вычисления на которых можно производить независимо • Основная сложность – недостаток совместноиспользуемой памя-ти на GPU(по сравнению с CPU). Необходимо минимизировать число обращений к глобальной памяти • Привычислениях на несколь-кихGPU можно еще получить еще большее ускорение • Качественные результаты • [Cabel. 2011]: • Сетка: 7894172 элементов • Степень базисных полиномов: 3 • : 2786 сек • : 97 сек GFlops/s Ускорение, k Степень базисных полиномов Производительность разрывного метода Галёркина на GPU и на СPU на сетке из 78745 элементов. Вычисления были сделаны с одинарной точностью. [Klockner. 2009]
Выводы: • Быстрый рост производительности GPU по сравнению с CPU позволяет в несколько раз ускорить выполнение программ, благодаря частичному или полному переносу вычислений на GPU • Благодаря новой архитектуре массивно параллельных вычислений CUDA стало возможным задействовать десятки тысяч потоков одновременно, что позволило существенно увеличить производи-тельность для широкого круга различных вычислительных задач • Качественные результаты, полученные для рассмотренных методов:
Литература • [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