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

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

CC BY
139
77
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛИРОВАНИЕ N-ТЕЛ / ГРАФИЧЕСКИЕ ПРОЦЕССОРЫ / ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ / УСКОРЕНИЕ ВЫЧИСЛЕНИЙ / CUDA / N-BODY SIMULATION / GPU / PARALLEL PROGRAMMING / ACCELERATION OF CALCULATIONS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Крылов Иван Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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.

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

© Крылов И.В., 2015

$SSl ®

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ

www.volsu.ru

DOI: http://dx.doi.org/10.15688/jvolsu1.2015.2.5

УДК 004.421.2 ББК 32.973.26

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ ПРИ МОДЕЛИРОВАНИИ БЕССТОЛКНОВИТЕЛЬНОЙ ГРАВИТИРУЮЩЕЙ СИСТЕМЫ 1

Магистр кафедры информационных систем и компьютерного моделирования,

Волгоградский государственный университет

i.krilov@rambler.ru, infomod@volsu.ru

просп. Университетский, 100, 400062 г. Волгоград, Российская Федерация

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

Ключевые слова: моделирование У-тел, графические процессоры, параллельное программирование, ускорение вычислений, CUDA.

Модель У-тел активно используется для решения широкого круга задач, в которых важную роль играют коллективные процессы. Взаимодействие в задаче У-тел определяется между парами частиц. Сила, действующая на одну /-частицу, является суммой вкладов от всех остальных частиц. Каждое тело системы характеризуется набором параметров (масса, скорость, положение в пространстве). Для определения закона движения всех частиц необходимо уметь рассчитывать ускорения, обусловленные силовым влиянием на нее других частиц:

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

Введение. Задача У-тел

(1)

ISSN 2222-8896. Вестн. Волгогр. гос. ун-та. Сер. 1, Мат. Физ. 2015. № 2 (27)

49

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ

где Fij - сила, с которой /-частица действует на /-частицу. Примеры потенциалов взаимодействия приведены в [2; 4]. Для гравитационного взаимодействия, на основании формулы (1), имеем

a.i = G £y=i,

}*1 '^-п|3

(д - п).

(2)

Непосредственные вычисления по формуле (2) являются достаточно ресурсоемкими: для N-частиц объем вычислений растет как O(N2). Поэтому помимо прямых методов для эффективного моделирования используются и более сложные схемы, позволяющие сократить объем вычислений до O(NlogN) [5].

Альтернативным способом сокращения времени расчетов является использование технологий параллельных вычислений на графических процессорах. Наиболее продвинутой в настоящее время считается технология CUDA.

Параллельная реализация построена с учетом выравнивания и использованием разделяемой памяти [1]. Механизм взаимодействия нитей друг с другом в CUDA реализован при помощи встроенной функции _syncthreads() [3].

Результаты моделирования

Были проведены тесты параллельной реализации задачи N-тел на графических процессорах GeForce GTX 850, Tesla C2070. Ускорение оценивалось по отношению к последовательному алгоритму исполняемом на CPU Intel Core i7 (см. рисунок).

Ускорение в зависимости от размерности задачи Заключение

Параллельные вычисления при моделировании эволюции гравитирующей системы с использованием технологии CUDA показывают свою эффективность и могут варьироваться в зависимости от вычислительной мощности, размерности и специфики задачи, оптимальности написанного кода. Для специализированных графических процессоров в задаче N-тел ускорение вычислений может достигать порядка 100 и более раз.

50

И.В. Крылов. Исследование эффективности параллельных вычислений при моделировании

-- КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ

ПРИМЕЧАНИЕ

1 Работа выполнена при поддержке гранта РФФИ № 15-02-06204.

СПИСОК ЛИТЕРАТУРЫ

1. Боресков, А. В. Основы работы с технологией CUDA / А. В. Боресков, А. А. Харламов. - М. : ДМКПресс, 2010. - 232 с.

2. Морозов, А. Г. Физика дисков / А. Г. Морозов, А. В Хоперсков. - Волгоград : Изд-во ВолГУ, 2005. - 415 с.

3. Сандерс, Дж. Технология CUDA в примерах: введение в программирование графических процессоров / Дж. Сандерс, Э. Кэндрот. - М. : ДМК Пресс, 2011. - 233 с.

4. Фридман, А. М. Физика галактических дисков / А. М. Фридман, А. В. Хоперсков. - М. : Физма-лит, 2011. - 645 с.

5. Barnes, J. A hierarchical O(N log N) force-calculation algorithm / J. Barnes, P. Hut // Nature. -04.10.1986. - Vol. 324. - P. 446-449.

REFERENCES

1. Boreskov A.V., Kharlamov A.A. Osnovy raboty s tekhnologiey CUDA [Basics of CUDA Technology Use]. Moscow, DMKPress Publ., 2010. 232 p.

2. Morozov A.G., Khoperskov A.A. Fizika diskov [The Physics of Disks]. Volgograd, Izd-vo VolGU, 2005. 415 p.

3. Sanders J., Kendrot E. Tekhnologiya CUDA v primerakh: vvedenie v programmirovanie graficheskikh protsessorov [CUDA Technology in the Examples : an Introduction to the Programming of Graphics Processors]. Moscow, DMK Press, 2011. 233 p.

4. Friedman A.M., Khoperskov A.A. Fizika galakticheskikh diskov [The Physics of Galactic Disks]. Moscow, Fizmalit Publ., 2011. 645 p.

5. Barnes J., Hut P. A hierarchical O(N log N) force-calculation algorithm. Nature, 1986, vol. 324, pp. 446-449.

THE RESEARCH OF PARALLEL COMPUTATION EFFICIENCY WHEN MODELING COLLISIONLESS GRAVITATING SYSTEMS

Krylov Ivan Vladimirovich

Master Student, Department of Computer System and Computer Simulation,

Volgograd State University

i.krilov@rambler.ru, infomod@volsu.ru

Prosp. Universitetsky, 100, 400062 Volgograd, Russian Federation

Abstract. 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

ISSN 2222-8896. Вестн. Волгогр. гос. ун-та. Сер. 1, Мат. Физ. 2015. № 2 (27) 51

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ----

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 sync-threads 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.

Key words: N-body simulation, GPU, parallel programming, acceleration of calculations, CUDA.

52

И.В. Крылов. Исследование эффективности параллельных вычислений при моделировании

i Надоели баннеры? Вы всегда можете отключить рекламу.