МОДЕЛИРОВАНИЕ МЕТОДОМ ЧАСТИЦ НА GPU С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА GLSL (2023)
Рассмотрено моделирование гравитационной задачи N тел с использованием алгоритмов PM и P3M. Реализация алгоритмов для GPU осуществлена с применением вычислительных шейдеров. Предложенный подход использует CPU-код только для синхронизации и запуска шейдеров и не содержит вычислительных частей, реализуемых на CPU; в том числе полностью отсутствует копирование данных между CPU и GPU. Приводятся параллельный алгоритм размещения частиц по ячейкам сетки и параллельный алгоритм распределения масс по узлам сетки. Основой алгоритмов является параллельное построение списков, соответствующих ячейкам сетки. Алгоритмы полностью распараллелены и не содержат частей, исполняемых в один поток. Для расчета одновременно с визуализацией часть вычислений сделана в вершинном шейдере. Выполнить их позволило использование буферных объектов в вершинном шейдере и специально подготовленных данных вместо вершин в качестве входа. Приведены результаты численных расчетов на примере образования галактических скоплений в расширяющейся согласно модели Фридмана плоской вселенной. В качестве модели вселенной брался куб с периодическими краевыми условиями по всем осям. Максимальное число частиц, с которым проводились расчеты, - 108. Для моделирования использовались современный кроссплатформенный API Vulkan и язык GLSL. Результаты расчетов на процессорах Apple M1 и Ryzen 3700X сравниваются с результатами расчетов на обычных видеокартах Apple M1 и NVIDIA RTX 3060. Параллельный алгоритм для CPU реализован с помощью OpenMP. Проведено сравнение производительности алгоритма с результатами других авторов, причем делаются качественные сравнения самих результатов вычислений и сравнение времени работы алгоритмов. Также приведено сравнение времени работы программы для GPU и похожей программы для кластера из многих узлов.
Идентификаторы и классификаторы
- eLIBRARY ID
- 50397346
Во многих прикладных областях возникает потребность в исследовании поведения большого числа взаимодействующих частиц. С математической точки зрения существуют два подхода для описания такого взаимодействия. Подход Эйлера не различает сами частицы, но вместо этого строит полевое описание. В каждой геометрической точке пространства задаются такие величины, как скорость, ускорение, температура и т.д. Затем прослеживается эволюция этих величин с течением времени.
Подход Лагранжа состоит в описании параметров самих точек среды. Описываются координаты, скорости, ускорения и т.д., но уже для каждой “частицы” среды, а не для геометрической точки пространства. Подход Лагранжа стал приобретать популярность с развитием вычислительной техники. На этом подходе основано моделирование методом частиц. Метод частиц применяется в различных областях, в частности при моделировании плазмы, моделировании полупроводников, в астрофизике, в молекулярной динамике. Метод частиц прост для реализации на компьютере и очень производителен.
Список литературы
- R. W. Hockney and J. W. Eastwood, Computer Simulation Using Particles (McGraw-Hill, New York, 1981).
- J. Harnois-Déraps, U.-L. Pen, I. T. Iliev, et al., “High-Performance P^3M N-Body Code: CUBEP^3M”, Mon. Not. R. Astron. Soc. 436 (1), 540-559 (2013). DOI: 10.1093/mnras/stt1591 EDN: QTOHQK
- P. E. Kyziropoulos, C. K. Filelis-Papadopoulos, and G. A. Gravvanis, “Parallel N-Body Simulation Based on the PM and P3M Methods Using Multigrid Schemes in Conjunction with Generic Approximate Sparse Inverses”, Math. Probl. Eng. 2015, Article ID 450980 (2015). DOI: 0.1155/2015/450980
- J. S. Bagla, “TreePM: A Code for Cosmological N-Body Simulations”, J. Astrophys. Astr. 23, 185-196 (2002). DOI: 10.1007/BF02702282
- K. Xu and Y. Jing, “An Accurate P^3M Algorithm for Gravitational Lensing Studies in Simulations”, Astrophys. J. 915 (2) (2021). DOI: 10.3847/1538-4357/ac0249
- G. L. Bryan, M. L. Norman, B. W. O’Shea, et al., “ENZO: An Adaptive Mesh Refinement Code for Astrophysics”, Astrophys. J. Suppl. 211 (2), Article ID 19 (2014). DOI: 10.1088/0067-0049/211/2/19
- The Source Code of PM, PTM, GPU Version. https://github.com/resetius/graphtoys Cited December 26, 2022.
- The Source Code of PM, PTM, CPU Version. https://github.com/resetius/fdm Cited December 26, 2022.
- A. A. Samarskii and E. S. Nikolaev, Numerical Methods for Grid Equations (Nauka, Moscow, 1978; Birkh854user, Basel, 1989).
-
L. Verlet, "Computer ‘Experiments' on Classical Fluids. I. Thermodynamical Properties of Lennard-Jones Molecules", Phys. Rev. 159 (1), 98-103 (1967).
-
P. P. Ewald, "Die Berechnung Optischer und Elektrostatischer Gitterpotentiale", Annalen der Physik 369 (3), 253-287 (1921). DOI: 10.1002/andp.19213690304
-
D. S. Gorbunov and V. A. Rubakov, Introduction to the Theory of the Early Universe: Hot Big Bang Theory (URSS, Moscow, 2008; World Scientific, Singapore, 2011).
-
G. G. Byrd, A. D. Chernin, and M. J. Valtonen, Cosmology: Foundations and Frontiers (URSS, Moscow, 2007).
-
A. N. Tikhonov and A. A. Samarskii, Equations of Mathematical Physics (Nauka, Moscow, 2004; Dover Publications, New York, 2013).
-
D. Wolf, OpenGL 4. Shading Language Cookbook (Packt Publishing, Birmingham, 2018).
-
L. Nyland, M. Harris, and J. Prins, "Fast N-Body Simulation with CUDA", in GPU Gems 3https://developer.nvidia.com/gpugems/gpugems3/part-v-physics-simulation/chapter-31-fast-n-body-simulation-cuda Cited December 28, 2022.
-
A. V. Boreskov and A. A. Harlamov, Basics with CUDA Technology (DMK Press, Moscow, 2019) [in Russian].
-
Y. Miki and M. Umemura, "MAGI: Many-Component Galaxy Initializer", Mon. Not. R. Astron. Soc. 475 (2), 2269-2281 (2018). DOI: 10.1093/mnras/stx3327 EDN: YHSNXV
-
A. Petitet, R. C. Whaley, J. Dongarra, and A. Cleary, "HPL - A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers",https://netlib.org/benchmark/hpl/ Cited July 21, 2022.
-
Apple Accelerate. https://developer.apple.com/documentation/accelerate Cited December 27, 2022.
-
Atlas Library. http://math-atlas.sourceforge.net Cited December 27, 2022.
-
Apple M1 Performance in Teraflops. https://www.ixbt.com/news/2021/02/18/soc-apple-m1x-geforce-gtx-1070.html [in Russian] Cited December 27, 2022.
-
Radeon RX6600XT Specifications. https://www.techpowerup.com/gpu-specs/radeon-rx-6600-xt.c3774 Cited December 27, 2022.
-
GeForce RTX3060 Specifications. https://www.techpowerup.com/gpu-specs/geforce-rtx-3060.c3682 Cited December 27, 2022.
-
Radeon RX6800XT Specifications. https://www.techpowerup.com/gpu-specs/radeon-rx-6800-xt.c3694 Cited December 27, 2022.
-
GeForce RTX3080 Specifications. https://www.techpowerup.com/gpu-specs/geforce-rtx-3080.c3621 Cited December 27, 2022.
Выпуск
Методы и алгоритмы вычислительной математики и их приложения.
Параллельные программные средства и технологии.
Другие статьи выпуска
В статье рассматривается задача планирования работ на многоядерном процессоре с учетом их замедления при совместном выполнении. Предложена постановка задачи и модель частично целочисленного линейного программирования, доказана NP-трудность задачи при числе ядер, ограниченном константой. Результаты планировщика Intel TBB и жадного алгоритма сравниваются с результатами, полученными в соответствии с предложенной моделью с помощью пакета CPLEX. Проведенный эксперимент показал преимущества предложенного подхода по времени завершения всех работ.
Проект создания цифровой платформы Algo500 направлен на решение задачи совместного анализа свойств алгоритмов и особенностей архитектур суперкомпьютеров. В статье на основе методологии онтологического анализа рассматриваются и предлагаются понятия, модели и метамодели данных, обосновываются подходы к описанию некоторых понятий из мира высокопроизводительных вычислений (HPC), устанавливаются новые требования к моделям данных, которые должны обеспечить выполнение задач, поставленных при создании платформы Algo500.
Представлен алгоритм численного моделирования квазистатической нагрузки пористого флюидонасыщенного образца для решения задачи апскейлинга трещиновато-пористой флюидонасыщенной среды. В результате апскейлинга восстанавливается анизотропная однородная вязкоупругая эквивалентная среда, определяемая комплекснозначным частотно-зависимым тензором жесткости. Компоненты восстановленного тензора жесткости эквивалентной среды используются для оценки частотно-зависимого сейсмического затухания и фазовой скорости сейсмических волн. Численный апскейлинг включает в себя численное решение краевой задачи для системы уравнений Био анизотропной пороупругой флюидонасыщенной среды в частотной области для набора частот и различных граничных условий. Численное решение системы уравнений Био основано на конечно-разностной аппроксимации уравнений в квазистатической постановке и проводится с использованием прямого решателя результирующей СЛАУ. Используемый прямой решатель позволяет эффективно решать СЛАУ для набора правых частей, что необходимо при численном апскейлинге. Представленная реализация алгоритма позволяет численно решать двумерную задачу апскейлинга на расчетной сетке с размерами до 2000 × 2000 узлов на персональном компьютере, что обеспечивает возможность восстанавливать эквивалентную вязкоупругую модель для детализированных репрезентативных образцов трещиновато-пористой среды. Для демонстрации применимости алгоритма выполнено несколько наборов численных экспериментов, направленных на выявление влияния связности трещин и микромасштабной анизотропии пороупругого материала внутри трещин на затухание, вызванное индуцированными волной потоками флюидов, и дисперсию сейсмической волны в сложной трещиновато-пористой флюидонасыщенной среде.
Рассматривается задача параллельной реализации алгоритма определения сейсмического источника внутри случайно-неоднородной среды. Алгоритм определения исходной позиции источника использует данные записанных сейсмограмм на свободной поверхности и информацию о статистических свойствах случайной среды. Предложенный подход требует решения большого количества задач динамической теории упругости для различных статистически эквивалентных скоростных моделей, идентифицированных по статистическим параметрам исходной среды. Это наиболее трудоемкая часть алгоритма решения. Чтобы ускорить расчеты, используется двухуровневая стратегия распараллеливания с помощью создания групп, каждая из которых решает свою задачу динамической теории упругости с декомпозицией расчетной области внутри группы. Реализация программы выполнена с использованием Fortran Coarray. Также приводится сравнение используемых конструкций расширения Fortran Coarray с функциями MPI.
Современные суперкомпьютеры востребованы в самых разных областях науки и техники. Однако их вычислительные ресурсы зачастую используются не в полной мере. Причина нередко кроется в низкой эффективности выполнения пользовательских приложений. Решить возникшую проблему весьма непросто, что связано как с чрезвычайной сложностью строения современных суперкомпьютеров, так и с недостатком теоретических знаний и практического опыта в создании высокоэффективных параллельных приложений у пользователей вычислительных систем. Более того, пользователи зачастую и не знают, что их приложения работают неэффективно. Поэтому важно, чтобы администраторы суперкомпьютеров могли постоянно контролировать и анализировать весь поток выполняющихся приложений. Для этих целей можно использовать различные существующие системы мониторинга и анализа производительности, однако подобные решения в большинстве своем либо не предоставляют достаточный функционал в части изучения производительности, либо не переносимы. В данной работе описывается прототип разрабатываемого программного комплекса, который предоставляет широкие возможности по сбору и автоматическому анализу данных о производительности приложений и при этом является переносимым.
Исследована проблема существования и единственности полилинейных продолжений некоторых дискретных функций. Доказано, что для любой булевой функции существует соответствующее полилинейное продолжение и оно единственно. Предложен алгоритм нахождения полилинейного продолжения булевой функции и доказана его корректность. На основе предложенного алгоритма найдены явные формы полилинейных продолжений сначала для булевой функции, а затем для произвольной функции, определенной на множестве вершин n-мерного единичного куба, произвольного куба и параллелепипеда, и в каждом конкретном случае доказана единственность соответствующего полилинейного продолжения.
Effective output from data centers are determined by many complementary factors. Often, attention is paid to only a few, at first glance, the most significant of them. For example, this is the efficiency of the scheduler, the efficiency of resource utilization by user tasks. At the same time, a more general view of the problem is often missed: the level at which the interconnection of work processes in the HPC center is determined, the organization of effective work as a whole. missions at this stage can negate any subtle optimizations at a low level. This paper provides a scheme for describing workflows in the supercomputer center and analyzes the experience of large HPC facilities in identifying the bottlenecks in this chain. A software implementation option that gives the possibility of optimizing the organization of work at all stages is also proposed in the form of a support system for the functioning of the HPC site.
Издательство
- Издательство
- МГУ
- Регион
- Россия, Москва
- Почтовый адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- Юр. адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- ФИО
- Садовничий Виктор Антонович (РЕКТОР)
- E-mail адрес
- info@rector.msu.ru
- Контактный телефон
- +7 (495) 9391000
- Сайт
- https://msu.ru/