Решетневскуе чтения. 2013
УДК 519.688
ПРИМЕНЕНИЕ ДРЕВОВИДНЫХ АЛГОРИТМОВ И ТЕХНОЛОГИИ CUDA ДЛЯ СНИЖЕНИЯ СЛОЖНОСТИ ЗАДАЧИ МОДЕЛИРОВАНИЯ ДИСКООБРАЗНЫХ СИСТЕМ ЧАСТИЦ
В. Е. Баранов
Самарский государственный аэрокосмический университет имени академика С. П. Королёва (Национальный исследовательский университет) Россия, 443086, г. Самара, Московское шоссе, 34 E-mail: [email protected]
Рассматривается задача численного моделирования дискообразной самогравитирующей бесстолкнови-тельной системы частиц в поле тяжести массивного центрального тела с использованием технологии CUDA. Показывается возможность применения упрощающих алгоритмов типа Tree-Code для снижения вычислительной сложности задачи. Делается вывод об эффективности и применимости реализации подобных алгоритмов на параллельной вычислительной архитектуре.
Ключевые слова: самогравитирующая система, бесстолкновительная модель, технология CUDA, алгоритмы Tree-Code.
DECREASING THE COMPLEXITY OF DISCOID PARTICLE SYSTEM SIMULATION USING TREE-CODE ALGORITHMS AND CUDA TECHNOLOGY
V. E. Baranov
Samara State Aerospace University named after academician S. P. Korolev (National Research University)
34, Moskovskoye Shosse, Samara, 443086, Russia E-mail: [email protected]
The numerical simulation of self-gravitating discoid collisionless particle system with the massive body at its center using the CUDA technology is considered. The possibility of Tree-Code algorithms application to decrease the problem's numerical complexity is represented. The efficiency and appliance of such algorithms implemented on parallel computational architecture are shown.
Keywords: self-gravitating system, collisionless model, CUDA technology, Tree-Code algorithms.
Данная работа представляет собой численное моделирование эволюции бесстолкновительной самогравитирующей дискообразной системы частиц в поле тяжести массивного центрального тела. Типичными представителями систем подобного класса являются галактики и звёздные скопления невысокой плотности.
Ввиду сложности непосредственного наблюдения таких систем, а также невозможности точного аналитического решения задачи N тел, особую популярность приобретают численные методы. Помимо этого, бурное развитие неграфических вычислений с использованием графических процессоров (вРвРи) открывает широкие возможности для увеличения размеров (числа частиц) исследуемых систем, что позволяет получить более точные и приближенные к реальности результаты.
В результате ряда исследований [1; 2], выполненных для систем описанного класса с использованием технологии СиЭА, удалось достичь значения числа частиц N порядка 3 105 (для трёхмерной задачи). Однако несмотря на применение параллельных вычислений, порог значения N, за которым вычислительная сложность задачи начинает оказывать существенное влияние на время вычисления, достигается крайне
быстро. Уже для N = 3 105 время, затрачиваемое на каждый шаг вычисления, составляет около 20 с, а учитывая тот факт, что эволюция подобных систем происходит на значительных временных масштабах, этот фактор крайне критичен.
С другой стороны, в работе [3] показано, что для вычислений на архитектуре CPU упрощающие алгоритмы класса Tree-Code (или так называемые древовидные алгоритмы) позволяют существенно снизить вычислительную сложность задачи для большого числа частиц. Целью текущего этапа работы являлась оценка применимости параллельной реализации подобных алгоритмов для дискообразных самогравити-рующих систем. Кроме того, насколько известно автору, на настоящий момент отсутствуют публикации о распараллеливании алгоритмов Tree-Code.
Было реализовано два алгоритма с использованием сеток: алгоритм с простой прямоугольной сеткой и сетка с разделением на слои. Подробные описания и схемы этих алгоритмов приведены в работе [3]. На текущем этапе работы не производилось каких-либо серьёзных оптимизаций CUDA-программы -исследовалась лишь принципиальная возможность ускорения параллельных вычислений данными алгоритмами. При этом диапазон размерностей сетки рас-
Программные редктва и информационные технологии
сматривался в пределах от 2*2 до 20*20 ячеек. Численные эксперименты проводились для числа частиц от 103 до 2 -104.
В результате максимальный прирост производительности был получен для простой прямоугольной сетки размерностью 20*20 ячеек (см. рисунок), однако сетка с разделением на слои в данных условиях не показала положительных результатов. На следующих этапах работы планируется исследовать алгоритмы на сетках большей размерности (в текущей реализации общее количество ячеек сетки ограничено размером блока нитей в СИБЛ).
Зависимость времени вычисления шага от числа частиц для разных алгоритмов
Несмотря на приведённые ограничения эксперимента, уже сейчас можно сделать вывод о том, что параллельная реализация алгоритма с использованием простой прямоугольной сетки позволяет частично снизить вычислительную сложность задачи. Кроме того, для выбранного диапазона размеров сетки эффективность алгоритма возрастает в зависимости от числа частиц системы и количества ячеек сетки. В ближайшей перспективе планируется исследовать поведение алгоритмов для сеток большего размера с целью вывода оптимальных параметров сетки и обобщённых условий применимости алгоритма в зависимости от размера системы. Помимо этого, предполагается проверить эффективность других типов сеток (например, радиальной) для снижения числа пустых ячеек, что негативно сказывается на реализации методов с помощью технологии СИБЛ.
Результаты исследования могут быть использованы для исследования дискообразных систем малой плотности (разреженные системы частиц с малой вероятностью столкновений).
Библиографические ссылки
1. Баранов В. Е. Численное моделирование бес-столкновительной самогравитирующей дискообразной системы частиц с помощью технологии CUDA // Физическое образование в вузах. 2012. № 4. С. П13.
2. Баранов В. Е., Макарян В. Г. Численное моделирование эволюции дискообразной самогравити-рующей системы многих тел с применением параллельных вычислений на графических сопроцессорах (GPU) // XX Туполевские чтения : сб. тр. Междунар. молодежной науч. конф. 2012. С. 318-321.
3. Баранов В. Е., Макарян В. Г. Анализ эффективности и применимости упрощающих алгоритмов при моделировании движения частиц планетного кольца в центральном гравитационном поле при наличии неупругих столкновений // Синергетика в естественных науках : материалы Междунар. междисциплинарной науч. конф. 2011. С. 103-105.
References
1. Baranov V. E. Chislennoe modelirovanie besstolknovitel'noj samogravitirujushhej diskoobraznoj sistemy chastic s pomoshh'ju tehnologii CUDA // Fizicheskoe obrazovanie v vuzah. 2012. № 4,s. P13.
2. Baranov V. E., Makaijan V. G. Chislennoe modelirovanie jevoljucii diskoobraznoj samogravitirujushhej sistemy mnogih tel s primeneniem parallel'nyh vychislenij na graficheskih soprocessorah (GPU) // XX Tupolevskie chtenija : Sbornik trudov Mezhdunarodnoj molodezhnoj nauchnoj konferencii. 2012, s. 318-321.
3. Baranov V. E., Makarjan V. G. Analiz jeffektivnosti i primenimosti uproshhajushhih algoritmov pri modelirovanii dvizhenija chastic planetnogo kol'ca v central'nom gravitacionnom pole pri nalichii neuprugih stolknovenij // Sinergetika v estestvennyh naukah : Materialy mezhdunarodnoj mezhdisciplinarnoj nauchnoj konferencii. 2011, s. 103-105.
© Баранов В. Е., 2013
УДК 004.932.2
ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ИЗОБРАЖЕНИЯ ПОДПИСИ ДЛЯ АНАЛИЗА ГРАФИЧЕСКИХ ХАРАКТЕРИСТИК
Р. П. Баранов
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Россия, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
Рассматривается подзадача задачи идентификации человека по изображению его личной подписи. Приведен подход к предварительной обработке изображения подписи, для ее последующего анализа.
Ключевые слова: подпись, идентификация, обработка изображений, распознавание подписи.