Научная статья на тему 'Реализация некоторых приложений проекта Mantevo на платформе OpenTS DMPI'

Реализация некоторых приложений проекта Mantevo на платформе OpenTS DMPI Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
20
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
параллельный алгоритм / язык программирования Т++ / OpenTS / Т-система / молекулярная динамика / метод конечных элементов / Т-приложение / benchmark / circuit / dynamic parallelization / T-system with an open architecture / OpenTS / T++ programming language / molecular dynamics / finite element method / T-application / benchmark

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — В.И. Осипов, Г.А. Матвеев, В.А. Роганов

В статье кратко описывается реализация приложений MiniAMR, MiniMD, MiniFE и MiniXyce из проекта Mantevo на библиотеке OpenTS DMPI и сравнивается эффективность такой реализации с оригинальной MPI-версией приложения. OpenTS система для параллельного программирования, поддерживающая динамически загружаемые адаптеры для коммуникационного уровня. В системе реализован язык для параллельных вычислений Т++, который является расширением языка программирования C++. Синтаксис языка Т++ отличается от синтаксиса языка C++ добавлением в него нескольких ключевых слов. Система OpenTS ассимилирует многие другие технологии параллельного программирования: специальную модель общей памяти, модель распределенных потоков и объектов, распределенную сборку мусора и, наконец, высокоуровневую языковую надстройку, являющуюся уникальной по своим характеристикам технологией для поддержки максимальной совместимости с традиционными языками по синтаксису и семантике, но при этом эффективно распараллеливаемой моделью вычислений. Система OpenTS использует собственную реализацию MPI, оформленную в виде динамической библиотеки OpenTS DMPI (Dynamic MPI). Библиотека предоставляет базовое подмножество функций из стандарта MPI либо за счет переадресации вызовов к локальной библиотеке MPI, установленной на целевой системе, либо поверх протокола TCP/IP. При инициализации системы OpenTS активируется подсистема DMPI. Она динамически загружает ту локальную библиотеку MPI, которая указана в переменных окружения приложения. Некоторые из функций MPI реализованы разработчиками системы OpenTS напрямую. В проект Mantevo входят несколько параллельных приложений, в которых реализованы алгоритмы для решения некоторых дифференциальных уравнений с частными производными: симулятор молекулярной динамики, симулятор линейных радиоэлектронных схем и другие приложения.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — В.И. Осипов, Г.А. Матвеев, В.А. Роганов

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

Implementing some of the Mantevo project applications on the OpenTS DMPI platform

OpenTS is a system for parallel programming that supports dynamically loaded adapters for a communication layer. The OpenTS system implements a T++ language for parallel computing, which is an extension of the C++ programming language. The syntax of the T++ language differs from the syntax of the C++ language by adding several keywords to it. The OpenTS system assimilates many other parallel programming technologies: a special shared memory model, a model of distributed threads and objects, distributed garbage collection, and, finally, a high-level language add-in, which is a technology unique in its characteristics to support maximum compatibility with traditional languages in syntax and semantics, but at the same time an effectively parallelizable computing model. The OpenTS system uses its own MPI implementation designed as the OpenTS DMPI dynamic library (Dynamic MPI). The OpenTS DMPI library provides a basic subset of functions from the MPI standard either by redirecting calls to the local MPI library installed on the target system, or on top of the TCP/IP protocol. When initializing the OpenTS system, the DMPI subsystem is activated. This subsystem dynamically loads the local MPI library that is specified in the application environment variables. The developers of the OpenTS system implemented some of the MPI functions directly. The Mantevo project includes several parallel applications that implement algorithms for solving some partial differential equations: a molecular dynamics simulator, a simulator of linear electronic circuits and other applications. The paper briefly describes the implementation of the MiniAMR, MiniMD, MiniFE and MiniXyce applications from the Mantevo project on the OpenTS DMPI library and compares the effectiveness of such implementation with the original MPI version of the application.

Текст научной работы на тему «Реализация некоторых приложений проекта Mantevo на платформе OpenTS DMPI»

УДК 519.682.3, 519.245, 519.644.7 Дата подачи статьи: 10.06.22, после доработки: 04.09.22

DOI: 10.15827/0236-235X.140.654-659 2022. Т. 35. № 4. С. 654-659

Реализация некоторъх приложений проекта Mantevo на платформе ОрепТБ БМР1

В.И. Осипов 1, к.ф.-м.н.., старший научный сотрудник, val@pereslavl.ru Г.А. Матвеев 1, научный сотрудник, дет@рпте.ЪоИк.ги В.А. Роганов 1,2, научный сотрудник, radug-a@yci.ru

1 Институт программных систем им. А.К. Айламазяна РАН, г. Переславль-Залесский, 152021, Россия

2 Научно-исследовательский институт механики Московского государственного университета им. М.В. Ломоносова, г. Москва, 119192, Россия

В статье кратко описывается реализация приложений MiniAMR, MiniMD, MiniFE и MiniXyce из проекта Mantevo на библиотеке OpenTS DMPI и сравнивается эффективность такой реализации с оригинальной MPI-версией приложения. OpenTS - система для параллельного программирования, поддерживающая динамически загружаемые адаптеры для коммуникационного уровня. В системе реализован язык для параллельных вычислений Т++, который является расширением языка программирования C++. Синтаксис языка Т++ отличается от синтаксиса языка С++ добавлением в него нескольких ключевых слов. Система OpenTS ассимилирует многие другие технологии параллельного программирования: специальную модель общей памяти, модель распределенных потоков и объектов, распределенную сборку мусора и, наконец, высокоуровневую языковую надстройку, являющуюся уникальной по своим характеристикам технологией для поддержки максимальной совместимости с традиционными языками по синтаксису и семантике, но при этом эффективно распараллеливаемой моделью вычислений.

Система OpenTS использует собственную реализацию MPI, оформленную в виде динамической библиотеки OpenTS DMPI (Dynamic MPI). Библиотека предоставляет базовое подмножество функций из стандарта MPI либо за счет переадресации вызовов к локальной библиотеке MPI, установленной на целевой системе, либо поверх протокола TCP/IP. При инициализации системы OpenTS активируется подсистема DMPI. Она динамически загружает ту локальную библиотеку MPI, которая указана в переменных окружения приложения. Некоторые из функций MPI реализованы разработчиками системы OpenTS напрямую.

В проект Mantevo входят несколько параллельных приложений, в которых реализованы алгоритмы для решения некоторых дифференциальных уравнений с частными производными: симулятор молекулярной динамики, симулятор линейных радиоэлектронных схем и другие приложения.

Ключевые слова: параллельный алгоритм, язык программирования Т++, OpenTS, Т-система, молекулярная динамика, метод конечных элементов, Т-приложение, benchmark, circuit.

Система с открытой архитектурой OpenTS (или Т-система) - оригинальная российская разработка для параллельных вычислений. В ней реализован язык для параллельных вычислений Т++, который является расширением языка программирования C++. Синтаксис Т++ отличается от синтаксиса С++ добавлением в него нескольких ключевых слов. Т-система позволяет эффективно решать задачи параллельного программирования, такие как вычисление многомерных интегралов [1], реализация трассировщика лучей (ray-tracer) [2], дифференциальные уравнения с частными производными [3], проверять надежность паролей [4], использовать библиотеки CUDA [5] и Intel MKL [6].

Система OpenTS использует собственную реализацию MPI в виде динамической библиотеки OpenTS DMPI (Dynamic MPI). При ини-

циализации системы OpenTS происходит настройка подсистемы DMPI, которая динамически загружает локальную библиотеку MPI, указаную в переменных окружения приложения. Некоторые из функций MPI реализованы разработчиками системы OpenTS напрямую.

Язык параллельного программирования T++ разработан таким образом, что необходимости использования в нем функций MPI нет. Однако, если для достижения эффективности выполнения параллельной программы программист желает использовать MPI-функции явно, то он может это сделать.

Приложение, написанное на языке Т++ с использованием вызовов функций MPI, является гибридным приложением MPI+T++. Гибридные приложения MPI+X, где Х - средство распараллеливания программ, занимают в области

разработки параллельных программ важное место. Примеры таких приложений - MPI+ Pthreads [7], MPI+OpenMP [8], MPI+TBB [9], MPI+OpenCL [10], MPI+CUDA [11], MPI+ HIP [12], MPI+DPC++ [13] и др.

Глобальная цель проекта OpenTS состоит в поддержке гибридной модели вычислений, когда часть приложения написана на языке Т++, а в другой части вызываются функции MPI. Настоящая статья отражает этап в достижении этой цели. Задача - показать, что при использовании такой гибридной модели нет проигрыша в эффективности по сравнению с исходной реализацией приложения, а накладные расходы при использовании такой гибридной модели невелики. Для этого несколько известных приложений проекта Mantevo реализуются с помощью библиотеки OpenTS DMPI и их эффективность сравнивается с исходным приложением.

В проект Mantevo [14] входят несколько параллельных приложений, в которых реализованы алгоритмы для решения некоторых дифференциальных уравнений с частными производными: симуляторы молекулярной динамики и линейных радиоэлектронных схем, приложение с использованием адаптивной расчетной сетки и другие приложения. Для работы на многопроцессорных системах используется интерфейс MPI.

С каждым приложением было проведено по 10 испытаний на количестве ядер процессора от 1 до 8 с шагом 1. На всех этапах вычислялось значение средней производительности. Испытания проведены для двух платформ -OpenMPI и OpenTS DMPI. Цель - проверить, происходит ли потеря производительности при переносе приложения с платформы OpenMPI на платформу OpenTS DMPI.

Положительное значение отклонения производительности означает, что производительность приложения на платформе OpenMPI выше производительности приложения на платформе OpenTS DMPI. Если значение отклонения производительности отрицательное, то производительность приложения на платформе OpenTS DMPI выше производительности приложения на платформе OpenMPI.

Приложение MiniMD

Данное приложение [14] является упрощенной версией симулятора молекулярной динамики LAMMPS [15]. MiniMD и LAMMPS используют при распараллеливании метод про-

странственной декомпозиции, при которой за каждым узлом (процессором) кластера закрепляется подобласть области симуляции молекулярной динамики. Как и LAMMPS, MiniMD дает возможность пользователям определять размер области задачи, плотность атомов, температуру, радиус обрезания потенциала взаимодействия частиц. В MiniMD моделирование молекулярной системы происходит на базе потенциала взаимодействия Леннарда-Джонса и потенциала EAM (Embedded Atom Method). Приложение MiniMD может симулировать несколько типов атомов.

Реализация приложения MiniMD (и других приложений) на OpenTS DMPI происходила следующим образом. Функция С++ main пакета LAMMPS была переименована в worker. В пакет добавлен файл на языке программирования Т++, который параллельно запускает столько задач, сколько в текущей вычислительной системе вычислительных узлов, по одной задаче на каждом вычислительном узле. Каждая из этих задач вызывает функцию worker. Обеспечивается передача параметров командной строки в каждый из экземпляров функции worker. Все вхождения файла <mpi.h> заменяются на заголовочный файл, необходимый для корректной работы Т-системы. Происходит сборка исполняемого файла с использованием компилятора Т++.

Были проведены сравнительные испытания оригинального MPI-приложения MiniMD и приложения MiniMD, реализованного на платформе OpenTS DMPI. Для проведения испытаний использован OpenMPI. Результаты представлены на рисунке 1.

Минимальное отклонение средней производительности составило -1,9 %, максимальное -0,4 %, среднее составило -0,2 %. Производи-

Количество узлов вычислительной системы

Open MPI — — — OpenTS

Рис. 1. Средняя производительность MiniMD с использованием OpenMPI и OpenTS DMPI

Fig. 1. The average MiniMD performance using OpenMPI and OpenTS DMPI

тельность приложения MiniMD определялась исходя из статистики, выдаваемой этим приложением.

Приложение MiniFE

В MiniFE [14] строится решение стационарного уравнения теплопроводности на единичном кубе. При вычислениях используется декартова трехмерная расчетная сетка. При запуске приложения можно указать, на какое количество равных частей разбивается каждое ребро куба. Задача решается методом конечных элементов (Finite Element Method). Возникающие в процессе вычисления задачи разреженные системы линейных алгебраических уравнений решаются методом сопряженных градиентов. При распределении вычислений между вычислительными узлами (декомпозиции) используется метод рекурсивной координатной бисекции (RCB). Вершины расчетной сетки на границе между процессорами являются общими, и через них происходит обмен информацией между процессорами. Алгоритм обеспечивает оптимальное разбиение вычислений на параллельные гранулы, что позволяет эффективно распараллеливать приложение с помощью графических процессоров. Приложение является бенчмарком, то есть оценивает производительность вычислительной системы (в мегафлопсах), и может быть использовано для тестирования процессоров, в том числе графических.

Было проведено сравнительное тестирование приложений MiniFE OpenMPI и MiniFE OpenTS DMPI. Результаты представлены на рисунке 2.

Минимальное отклонение среднего времени работы составило -0,7 %, максималь-

ное - 0,4 %, среднее составило -0,1 %, то есть производительность приложений MiniFE OpenTS DMPI и MiniFE OpenMPI приблизительно совпадает.

Приложение MiniXyce

Данное приложение [14] - простой симуля-тор линейных радиоэлектронных схем, написанный в стиле известной программы SPICE Калифорнийского университета в Беркли [16], который содержит анализатор, проверяющий схемы, состоящие из сопротивлений, конденсаторов и катушек индуктивности, а также источника питания.

Радиоэлектронные схемы моделируются системой дифференциально-алгебраических dq ( х (t))

уравнений

dt

f ( * ( t )) = Ъ (t ),

где

х(?) е Я" - вектор неизвестных (состояние схемы); q и f - функции, представляющие соответственно динамические и статические элементы схемы; Ъ(?) е Ят - вектор входных параметров [17].

Структура схемы должна быть простой (не допускается иерархия, содержащая дочерние подсхемы). Схема описывается системой линейных дифференциальных уравнений и решается обобщенным методом минимальных невязок ^МИ^^) без предобуславливания. Описание схемы находится в текстовом файле.

Результатом работы программы miniXyce является расчет состояния схемы, например, напряжения на каждом из элементов в каждый из дискретных моментов времени.

Были проведены сравнительные испытания приложения MiniXyce с использованием ОрепМР1 и OpenTS DMPI. Результаты представлены на рисунке 3.

¡550

J

É40

S

12345678 Количество узлов вычислительной системы

Open MPI — — —OpenTS

60

30

о 20

10

0

Рис. 2. Среднее время работы MiniFE с использованием OpenMPI и OpenTS DMPI

Fig. 2. The average operating time of MiniFE using OpenMPI and OpenTS DMPI

Рис. 3. Среднее время работы MiniXyce с использованием OpenMPI и OpenTS DMPI

Fig. 3. The average MiniXyce running time using OpenMPI and OpenTS DMPI

Минимальное отклонение среднего времени работы составило 0,2 %, максимальное -3,8 %, среднее - 1,7 %.

Приложение МЫАМИ

Приложение предназначено для работы с адаптивными расчетными сетками, основанными на октодеревьях - рекурсивных структурах данных, каждый узел которых содержит восемь потомков. В процессе вычисления деревья постоянно меняются, некоторые узлы измельчаются (то есть появляются поддеревья), удаляются или перераспределяются между процессорами вычислительной системы. Измельчение узлов расчетной сетки происходит в точках, где возникают особенности, требующие более детальных вычислений.

Были проведены сравнительные испытания приложения МтгХусе с использованием ОрепМР1 и OpenTS DMPI. В процессе испытаний использовался тест, в котором моделировалось движение двух сфер. Результаты представлены на рисунке 4.

Минимальное отклонение средней производительности составило 0,7 %, максимальное -3,8 %, среднее - 1,3 %.

Результаты и выводы

Цель данного исследования - убедиться, что гибридная реализация приложений проекта

Open MPI -----OpenTS

Рис. 4. Средняя производительность MiniAMR с использованием OpenMPI и OpenTS DMPI

Fig. 4. The average MiniAMR performance using OpenMPI and OpenTS DMPI

Mantevo с использованием библиотеки OpenTS DMPI не уступает в эффективности исходной реализации данного приложения на классическом MPI. В рамках проведенной работы удалось доказать, что гибридная реализация не ухудшает производительность реальных приложений. Разброс относительных изменений средних значений производительности составил от -1,9 % до 3,8 %, то есть в среднем 0,7 %, что пренебрежимо мало.

Результаты испытаний подтверждают эффективность реализации протокола MPI в системе параллельного программирования OpenTS.

Литература

1. Абрамов С.М., Роганов В.А., Осипов В.И., Матвеев Г.А. Метастохастические адаптивные алгоритмы и их реализация в супервычислительной среде T++&MPI // Программные системы: теория и приложения. 2017. Т. 8. № 1. С. 173-191. DOI: 10.25209/2079-3316-2017-8-1-173-191.

2. Роганов В.А., Осипов В.И., Матвеев Г.А. Интеграция приложения Tachyon с системой параллельного программирования OpenTS // Программные системы: теория и приложения. 2017. Т. 8. № 4. С. 319-326. DOI: 10.25209/2079-3316-2017-8-4-319-326.

3. Роганов В.А., Осипов В.И., Матвеев Г.А. Решение задачи Дирихле для уравнения Пуассона методом Гаусса-Зейделя на языке параллельного программирования Т++ // Программные системы: теория и приложения. 2016. Т. 7. № 3. С. 99-107. DOI: 10.25209/2079-3316-2016-7-3-99-107.

4. Роганов В.А., Кузнецов А.А., Матвеев Г.А., Осипов В.И. Адаптивный анализ надежности паролей при помощи гибридных суперЭВМ // Программные системы: теория и приложения. 2015. Т. 6. № 4. C. 139-156. DOI: 10.25209/2079-3316-2015-6-4-139-155.

5. Роганов В.А., Кузнецов А.А., Матвеев Г.А., Осипов В.И. Реализация T-системы с открытой архитектурой для CUDA-устройств с поддержкой динамического параллелизма и для гибридных суперЭВМ на их основе // Программные системы: теория и приложения. 2015. Т. 6. № 1. C. 175-188. DOI: 10.25209/2079-3316-2015-6-1-175-188.

6. Роганов В.А., Кузнецов А.А., Матвеев Г.А., Осипов В.И. Использование возможностей математической библиотеки Intel MKL в параллельных программах на языке T++ для T-системы с открытой архитектурой // Программные продукты и системы. 2015. Т. 27. № 1. С. 43-48. DOI: 10.15827/0236-235X.109.043-048.

7. Lecture 36: MPI, Hybrid Programming, and Shared Memory. URL: https://wgropp.cs.illinois.edu/ courses/cs598-s15/lectures/lecture36.pdf (дата обращения: 20.05.2022).

8. Yan B., Regueiro R.A. Comparison between pure MPI and hybrid MPI-OpenMP parallelism for Discrete Element Method (DEM) of ellipsoidal and poly-ellipsoidal particles. Computational Particle Mechanics, 2019, vol. 6, no. 2, pp. 271-295. DOI: 10.1007/s40571-018-0213-8.

9. Zhu J., Li Q. Application of hybrid MPI+TBB parallel programming model for traveling salesman problem. Proc. Int. Conf. GREENCOM-ITHINGSCPSCOM, 2013, pp. 2164-2167. DOI: 10.1109/GreenCom-iTh-ings-CPSCom.2013.408.

10. Li M., Hawrylak P., Hale J. Combining OpenCL and MPI to support heterogeneous computing on a cluster. Proc. PEARC, 2019, art. 5, pp. 1-6. DOI: 10.1145/3332186.3333059.

11. Lai J., Yu H., Tian Z., Li H. Hybrid MPI and CUDA parallelization for CFD applications on Multi-GPU HPC clusters. Scientific Programming, 2020, vol. 2020, pp. 1-15. DOI: 10.1155/2020/8862123.

12. Hokkanen J., Louhivuori M., Markomanolis G. GPU Programming with HIP. CSC Publ., 2021, 79 p.

13. Hybrid Parallel Programming for HPC Clusters with MPI and DPC++. URL: https://www.intel.com/ content/www/us/en/developer/videos/hybrid-parallel-programming-hpc-clusters-mpi-dpc.html (дата обращения: 20.05.2022).

14. Mantevo Project. URL: https://mantevo.org (дата обращения: 20.05.2022).

15. LAMMPS Molecular Dynamics Simulator. URL: https://www.lammps.org (дата обращения: 20.05.2022).

16. The Spice Page. URL: http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE/ (дата обращения: 20.05.2022).

17. Thornquist H.K., Keiter E.R., Rajamanickam S. Electrical modeling and simulation for stockpile stewardship. XRDS: Crossroads, The ACM Magazine for Students, 2013, vol. 19, no. 3, pp. 18-22. DOI: 10.1145/2425676.2425685.

Software & Systems Received 10.06.22, Revised 04.09.22

DOI: 10.15827/0236-235X.140.654-659 2022, vol. 35, no. 4, pp. 654-659

Implementing some of the Mantevo project applications on the OpenTS DMPI platform

V.I. Osipov 1 Ph.D. (Phisics and Mathematics), Senior Researcher, val@pereslavl.ru G.A. Matveev l, Research Associate, gera@prime.botik.ru V.A. Roganov 12, Research Associate, radug-a@ya.ru

1 Ailamazyan Program Systems Institute of RAS, Pereslavl-Zalesskiy, 152021, Russian Federation

2 Research Institute of Mechanics, Lomonosov Moscow State University, Moscow, 119192, Russian Federation

Abstract. OpenTS is a system for parallel programming that supports dynamically loaded adapters for a communication layer. The OpenTS system implements a T++ language for parallel computing, which is an extension of the C++ programming language. The syntax of the T++ language differs from the syntax of the C++ language by adding several keywords to it. The OpenTS system assimilates many other parallel programming technologies: a special shared memory model, a model of distributed threads and objects, distributed garbage collection, and, finally, a high-level language add-in, which is a technology unique in its characteristics to support maximum compatibility with traditional languages in syntax and semantics, but at the same time an effectively parallelizable computing model.

The OpenTS system uses its own MPI implementation designed as the OpenTS DMPI dynamic library (Dynamic MPI). The OpenTS DMPI library provides a basic subset of functions from the MPI standard either by redirecting calls to the local MPI library installed on the target system, or on top of the TCP/IP protocol. When initializing the OpenTS system, the DMPI subsystem is activated. This subsystem dynamically loads the local MPI library that is specified in the application environment variables. The developers of the OpenTS system implemented some of the MPI functions directly.

The Mantevo project includes several parallel applications that implement algorithms for solving some partial differential equations: a molecular dynamics simulator, a simulator of linear electronic circuits and other applications.

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

The paper briefly describes the implementation of the MiniAMR, MiniMD, MiniFE and MiniXyce applications from the Mantevo project on the OpenTS DMPI library and compares the effectiveness of such implementation with the original MPI version of the application.

Keywords: dynamic parallelization, T-system with an open architecture, OpenTS, T++ programming language, molecular dynamics, finite element method, T-application, benchmark.

References

1. Abramov S.M., Roganov V.A., Osipov V.I., Matveev G.A. MetaStochastic adaptive algorithms and theirs implementation with parallel programming system T++ & MPI. Program Systems: Theory and Applications, 2017, vol. 8, no. 1, pp. 173-191. DOI: 10.25209/2079-3316-2017-8-1-173-191 (in Russ.).

2. Roganov V.A., Osipov V.I., Matveev G.A. Integration of Ray Tracing system Tachyon and T-system with an open architecture (OpenTS). Program Systems: Theory and Applications, 2017, vol. 8, no. 4, pp. 319-326. DOI: 10.25209/2079-3316-2017-8-4-319-326 (in Russ.).

3. Roganov V.A., Osipov V.I., Matveev G.A. Solving the 2D Poisson PDE by Gauss-Seidel method with parallel programming system OpenTS. Program Systems: Theory and Applications, 2016, vol. 7, no. 3, pp. 99-107. DOI: 10.25209/2079-3316-2016-7-3-99-107 (in Russ.).

4. Roganov V.A., Kuznetsov A.A., Matveev G.A., Osipov V.I. Adaptive analysis of passwords' reliability using computational power of hybrid supercomputers. Program Systems: Theory and Applications, 2015, vol. 6, no. 4, pp. 139-156. DOI: 10.25209/2079-3316-2015-6-4-139-155 (in Russ.).

5. Roganov V.A., Kuznetsov A.A., Matveev G.A., Osipov V.I. Implementation of T-system with an open architecture for CUDA devices supporting dynamic parallelism and for hybrid computing clusters. Program Systems: Theory and Applications, 2015, vol. 6, no. 1, pp. 175-188. DOI: 10.25209/2079-3316-2015-6-1-175188 (in Russ.).

6. Roganov V.A., Kuznetsov A.A., Matveev G.A., Osipov V.I. Using possibilities of Intel MKL math library in parallel programs in T++ language for a T-system with an open architecture to improve their performance. Software and Systems, 2015, vol. 27, no. 1, pp. 43-48. DOI: 10.15827/0236-235X.109.043-048 (in Russ.).

7. Lecture 36: MPI, Hybrid Programming, and Shared Memory. Available at: https://wgropp.cs.illi-nois.edu/courses/cs598-s15/lectures/lecture36.pdf (accessed May 20, 2022).

8. Yan B., Regueiro R.A. Comparison between pure MPI and hybrid MPI-OpenMP parallelism for Discrete Element Method (DEM) of ellipsoidal and poly-ellipsoidal particles. Computational Particle Mechanics, 2019, vol. 6, no. 2, pp. 271-295. DOI: 10.1007/s40571-018-0213-8.

9. Zhu J., Li Q. Application of hybrid MPI+TBB parallel programming model for traveling salesman problem. Proc. Int. Conf GREENCOM-ITHINGSCPSCOM, 2013, pp. 2164-2167. DOI: 10.1109/GreenCom-iTh-ings-CPSCom.2013.408.

10. Li M., Hawrylak P., Hale J. Combining OpenCL and MPI to support heterogeneous computing on a cluster. Proc. PEARC, 2019, art. 5, pp. 1-6. DOI: 10.1145/3332186.3333059.

11. Lai J., Yu H., Tian Z., Li H. Hybrid MPI and CUDA parallelization for CFD applications on Multi-GPU HPC clusters. Scientific Programming, 2020, vol. 2020, pp. 1-15. DOI: 10.1155/2020/8862123.

12. Hokkanen J., Louhivuori M., Markomanolis G. GPU Programming with HIP. CSC Publ., 2021, 79 p.

13. Hybrid Parallel Programming for HPC Clusters with MPI and DPC++. Available at: https://www.in-tel.com/content/www/us/en/developer/videos/hybrid-parallel-programming-hpc-clusters-mpi-dpc.html (accessed May 20, 2022).

14.Mantevo Project. Available at: https://mantevo.org (accessed May 20, 2022).

15. LAMMPS Molecular Dynamics Simulator. Available at: https://www.lammps.org (accessed May 20, 2022).

16. The Spice Page. Available at: http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE/ (accessed May 20, 2022).

17. Thornquist H.K., Keiter E.R., Rajamanickam S. Electrical modeling and simulation for stockpile stewardship. XRDS: Crossroads, The ACM Magazine for Students, 2013, vol. 19, no. 3, pp. 18-22. DOI: 10.1145/2425676.2425685.

Для цитирования

Осипов В.И., Матвеев Г.А., Роганов В.А. Реализация некоторых приложений проекта Mantevo на платформе OpenTS DMPI // Программные продукты и системы. 2022. Т. 35. № 4. С. 654-659. DOI: 10.15827/0236-235X.140.654-659.

For citation

Osipov V.I., Matveev G.A., Roganov V.A. Implementing some of the Mantevo project applications on the OpenTS DMPI platform. Software & Systems, 2022, vol. 35, no. 4, pp. 654-659 (in Russ.). DOI: 10.15827/0236-235X. 140.654-659.

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