Исследование эффективности параллельных вычислений при моделировании бесстолкновительной гравитирующей системы

Автор: Крылов Иван Владимирович

Журнал: Математическая физика и компьютерное моделирование @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.
Статья научная