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

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

Журнал: Математическая физика и компьютерное моделирование @mpcm-jvolsu

Рубрика: Компьютерное моделирование

Статья в выпуске: 2 (27), 2015 года.

Бесплатный доступ

Представлены результаты численных экспериментов динамики гравитационно взаимодействующих N-частиц с использованием различных графических процессоров в рамках алгоритма «Particle-Particle» с применением технологии CUDA.

Моделирование n-тел, графические процессоры, параллельное программирование, ускорение вычислений

Короткий адрес: https://sciup.org/14968983

IDR: 14968983   |   УДК: 004.421.2   |   DOI: 10.15688/jvolsu1.2015.2.5

The research of parallel computation efficiency when modeling collisionless gravitating systems

N-body model is widely used for a wide range of problems in which the important role is played by collective processes. Interaction in the N-body problem is defined between pairs of particles. The force acting on one i-particle is the sum of contributions from all other particles. Each body of system is characterized by a set of parameters (weight, speed, position in space). Calculation of the acceleration caused by power influence of other particles on it is necessary for definition of the law of all particles movement. Calculations on algorithm are quite demanding: for N particles the volume of calculations grows as O(N2). The direct methods and difficult schemes allowing to reduce the volume of calculations to O (NlogN) are used for effective modeling. An alternative way to reduce time of calculations is the use of technologies of parallel computing on GPUs. The CUDA technology is considered the most advanced now. The parallel program is constructed taking into account alignment and use of the shared memory. The mechanism of interaction of threads among themselves in CUDA is realized by means of the built-in syncthreads function. The results of numerical experiments of the dynamics of gravitationally interacting N-particles are presented using a different graphics processors as a part of the algorithm "Particle-Particle" and using technology CUDA.

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

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.