Исследование эффективности параллельных вычислений при моделировании бесстолкновительной гравитирующей системы
Автор: Крылов Иван Владимирович
Журнал: Математическая физика и компьютерное моделирование @mpcm-jvolsu
Рубрика: Компьютерное моделирование
Статья в выпуске: 2 (27), 2015 года.
Бесплатный доступ
Представлены результаты численных экспериментов динамики гравитационно взаимодействующих N-частиц с использованием различных графических процессоров в рамках алгоритма «Particle-Particle» с применением технологии CUDA.
Моделирование n-тел, графические процессоры, параллельное программирование, ускорение вычислений
Короткий адрес: https://sciup.org/14968983
IDR: 14968983 | DOI: 10.15688/jvolsu1.2015.2.5
Текст научной статьи Исследование эффективности параллельных вычислений при моделировании бесстолкновительной гравитирующей системы
DOI:
Введение. Задача N-тел
Модель N -тел активно используется для решения широкого круга задач, в которых важную роль играют коллективные процессы. Взаимодействие в задаче N -тел определяется между парами частиц. Cила, действующая на одну i -частицу, является суммой вкладов от всех остальных частиц. Каждое тело системы характеризуется набором параметров (масса, скорость, положение в пространстве). Для определения закона движения всех частиц необходимо уметь рассчитывать ускорения, обусловленные силовым влиянием на нее других частиц:
;- Т: , (1)
где Fij - сила, с которой j-частица действует на i-частицу. Примеры потенциалов взаимодействия приведены в [2; 4]. Для гравитационного взаимодействия, на основании формулы (1), имеем at = G 27=i,vvi^b 0} - Ю- (2)
Wj-rA
Непосредственные вычисления по формуле (2) являются достаточно ресурсоемкими: для N -частиц объем вычислений растет как O(N 2 ). Поэтому помимо прямых методов для эффективного моделирования используются и более сложные схемы, позволяющие сократить объем вычислений до O(NlogN) [5].
Альтернативным способом сокращения времени расчетов является использование технологий параллельных вычислений на графических процессорах. Наиболее продвинутой в настоящее время считается технология CUDA.
Параллельная реализация построена с учетом выравнивания и использованием разделяемой памяти [1]. Механизм взаимодействия нитей друг с другом в CUDA реализован при помощи встроенной функции _syncthreads() [3].
Результаты моделирования
Были проведены тесты параллельной реализации задачи N -тел на графических процессорах GeForсe GTX 850, Tesla C2070. Ускорение оценивалось по отношению к последовательному алгоритму исполняемом на CPU Intel Core i7 (см. рисунок).


Ускорение в зависимости от размерности задачи
Заключение
Параллельные вычисления при моделировании эволюции гравитирующей системы с использованием технологии CUDA показывают свою эффективность и могут варьироваться в зависимости от вычислительной мощности, размерности и специфики задачи, оптимальности написанного кода. Для специализированных графических процессоров в задаче N -тел ускорение вычислений может достигать порядка 100 и более раз.
Список литературы Исследование эффективности параллельных вычислений при моделировании бесстолкновительной гравитирующей системы
- Боресков, А. В. Основы работы с технологией CUDA/А. В. Боресков, А. А. Харламов. -М.: ДМКПресс, 2010. -232 с.
- Морозов, А. Г. Физика дисков/А. Г. Морозов, А. В Хоперсков. -Волгоград: Изд-во ВолГУ, 2005. -415 с.
- Сандерс, Дж. Технология CUDA в примерах: введение в программирование графических процессоров/Дж. Сандерс, Э. Кэндрот. -М.: ДМК Пресс, 2011. -233 с.
- Фридман, А. М. Физика галактических дисков/А. М. Фридман, А. В. Хоперсков. -М.: Физмалит, 2011. -645 с.
- Barnes, J. A hierarchical O(N log N) force-calculation algorithm/J. Barnes, P. Hut//Nature. -04.10.1986. -Vol. 324. -P. 446-449.