Системы SAPFOR и DVM были спроектированы и предназначены для упрощения разработки параллельных программ научно-технических расчетов. Главной целью системы SAPFOR является автоматизация процесса отображения последовательных программ на параллельные архитектуры в модели DVMH. В некоторых случаях пользователь системы SAPFOR может рассчитывать на полностью автоматическое распараллеливание, если программа была написана или приведена к потенциально параллельному виду. DVMH модель представляет собой расширение стандартных языков C и Fortran спецификациями параллелизма, которые оформлены в виде директив и не видимы стандартным компиляторам. В статье будет рассмотрено автоматизированное дополнительное распараллеливание существующих MPI-программ с помощью системы SAPFOR, где, в свою очередь, будут использованы новые возможности DVMH модели по распараллеливанию циклов в MPI программе внутри узла. Данный подход позволяет существенно снизить трудоемкость распараллеливания MPI программ на графические ускорители и многоядерные процессоры, сохранив при этом удобство сопровождения уже написанной программы. Данная возможность в системе SAPFOR была реализована для языков Fortran и C. Эффективность данного подхода показана на примере некоторых приложений из пакета NAS Parallel Benchmarks.
Идентификаторы и классификаторы
- eLIBRARY ID
- 47494754
Многопроцессорные вычислительные системы уже достаточно давно используются для проведения расчетов, накопился достаточно большой объем параллельных программ, способных задействовать несколько узлов вычислительного кластера. При этом одним из основных инструментов разработки таких программ остается стандарт MPI. Но появившиеся сравнительно недавно гетерогенные вычислительные системы, узлы которых образованы многоядерными процессорами и ускорителями, требуют применения дополнительных средств разработки параллельных программ. Чтобы эффективно использовать все имеющиеся вычислительные ресурсы, в MPI-программы приходится добавлять дополнительные спецификации параллелизма. Низкоуровневые модели параллельного программирования (CUDA, OpenCL, POSIX Threads) дают полный контроль за процессом выполнения программы. Но в сочетании с тем, что разработчику также приходится разбираться в структуре исходной MPI-программы, которая может быть существенно сложнее аналогичной последовательной программы, низкоуровневые модели существенно увеличивают сложность разработки кода. Отладка таких MPI-программ, для которых было выполнено дополнительное распараллеливание, также является трудоемкой задачей.
Список литературы
- J. Ragan-Kelley, C. Barnes, A. Adams, et al., “Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines”, SIGPLAN Not. 48 (6), 519-530 (2013). DOI: 10.1145/2499370.2462176
- U. Beaugnon, A. Kravets, S. van Haastregt, et al., “Vobla: A Vehicle for Optimized Basic Linear Algebra”, SIGPLAN Not. 49 (5), 115-124 (2014). DOI: 10.1145/2666357.2597818
- Y. Zhang, M. Yang, R. Baghdadi, et al., “Graphit: A High-Performance Graph DSL”, Proc. of the ACM on Program. Lang. 2, (OOPSLA) (2018).doi. DOI: 10.1145/3276491
- P. An, A. Jula, S. Rus, et al., “STAPL: An Adaptive, Generic Parallel C++ library”, in {Lecture Notes in Computer Science} (Springer, Heidelberg, 2003), Vol. 2624, pp. 193-208. 10.1007/3-540-35767-X_13. Cited October 15, 2021. DOI: 10.1007/3-540-35767-X_13.CitedOctober15 EDN: ESWOWR
- N. Bell and J. Hoberock, “Thrust: A Productivity-Oriented Library for CUDA”, GPU Computing Gems Jade Edition (2012), pp. 359-371. 10.1016/B978-0-12-385963-1.00026-5. Cited October 15, 2021. DOI: 10.1016/B978-0-12-385963-1.00026-5.CitedOctober15
- OpenMP Compilers Tools. https://www.openmp.org/resources/openmp-compilers-tools/. Cited October 15, 2021.
- N. A. Konovalov, V. A. Krukov, S. N. Mikhajlov, and A. A. Pogrebtsov, “Fortan DVM: A Language for Portable Parallel Program Development”, Program. Comput. Softw. 21 (1), 35-38 (1995).
- V. A. Bakhtin, M. S. Klinov, V. A. Krukov, et al., “Extension of the DVM-Model of Parallel Programming for Clusters with Heterogeneous Nodes”, Vestn. Yuzhn. Ural. Gos. Univ. Ser. Mat. Model. Programm. No. 12, 82-92 (2012).
- M. S. Klinov and V. A. Kryukov, “Automatic Parallelization of Fortran Programs. Mapping to Cluster”, Vestn. Lobachevskii Univ. Nizhni Novgorod, No. 2, 128-134 (2009).
-
V. A. Bakhtin, I. G. Borodich, N. A. Kataev, et al., "Dialogue with a Programmer in the Automatic Parallelization Environment SAPFOR", Vestn. Lobachevskii Univ. Nizhni Novgorod, No. 5(2), 242-245 (2012).
-
N. Kataev, "LLVM Based Parallelization of C Programs for GPU", in Communications in Computer and Information Science (Springer, Cham, 2020), Vol. 1331, pp. 436-448. 10.1007/978-3-030-64616-5_38. Cited October 15, 2021. DOI: 10.1007/978-3-030-64616-5_38.CitedOctober15 EDN: QUKQFS
-
N. Kataev, "Interactive Parallelization of C Programs in SAPFOR", CEUR Workshop Proc., Vol. 2784 (2020), pp. 139-148. http://ceur-ws.org/Vol-2784/. Cited October 15, 2021.
-
N. Kataev, "Application of the LLVM Compiler Infrastructure to the Program Analysis in SAPFOR", in Communications in Computer and Information Science (Springer, Cham, 2019), Vol. 965, pp. 487-499.doi. DOI: 10.1007/978-3-030-05807-4_41 EDN: OSMYIO
-
N. Kataev, A. Smirnov, and A. Zhukov, "Dynamic Data-Dependence Analysis in SAPFOR", CEUR Workshop Proc. Vol. 2543 (2020), pp. 199-208. http://ceur-ws.org/Vol-2543/. Cited October 15, 2021. EDN: OZAKZW
-
NAS Parallel Benchmarks. https://www.nas.nasa.gov/publications/npb.html. Cited October 15, 2021.
-
M. Wolfe, High Performance Compilers for Parallel Computing (Addison-Wesley, New York, 1995).
-
U. Bondhugula, A. Hartono, J. Ramanujam, and P. Sadayappan, "A Practical Automatic Polyhedral Parallelizer and Locality Optimizer", SIGPLAN Not. 43 (6), 101-113 (2008). DOI: 10.1145/1379022.1375595
-
S. Verdoolaege, J. C. Juega, A. Cohen, et al., "Polyhedral Parallel Code Generation for CUDA", ACM Trans. Archit. Code Optim. 9 (4), 1-23 (2013). DOI: 10.1145/2400682.2400713
-
T. Grosser, A. Groesslinger, and C. Lengauer, "Polly - Performing Polyhedral Optimizations on a Low-Level Intermediate Representation", Parallel Process. Lett. 22 (2012). DOI: 10.1142/S0129626412500107 EDN: KRKDQD
-
T. Grosser and T. Hoefler, "Polly-ACC Transparent Compilation to Heterogeneous Hardware", in Proc. Int. Conf. on Supercomputing, Istambul, Turkey, June 1-3, 2016 (ACM Press, New York, 2016),. DOI: 10.1145/2925426.2926286 EDN: YWSVEP
-
J. M. Caamano, A. Sukumaran-Rajam, A. Baloian, et al., "APOLLO: Automatic Speculative POLyhedral Loop Optimizer", in Proc. 7th Int. Workshop on Polyhedral Compilation Techniques (IMPACT 2017), Stockholm, Sweden, January 23, 2017, https://www.researchgate.net/publication/313059456_APOLLO_Automatic_speculative_POLyhedral_Loop_Optimizer. Cited October 15, 2021.
-
C. Lattner and V. Adve, "LLVM: A Compilation Framework for Lifelong Program Analysis Transformation", in Proc. Int. Symp. on Code Generation and Optimization San Jose (Palo Alto), USA, March 20-24, 2004, , https://llvm.org/pubs/2004-01-30-CGO-LLVM.pdf. Cited October 15, 2021. DOI: 10.1109/CGO.2004.1281665
-
J. Doerfert, K. Streit, S. Hack, and Z. Benaissa, "Polly's Polyhedral Scheduling in the Presence of Reductions", in Proc. 5th Int. Workshop on Polyhedral Compilation Techniques (IMPACT 2015), Amsterdam, The Netherlands, January 19, 2015, https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1054.1804rep=rep1type=pdf. Cited October 15, 2021.
-
V. Bakhtin, A. Kolganov, V. Krukov, et al.
-
V. A. Bakhtin, D. A. Zakharov, V. A. Krukov, et al., "Additional parallelization of MPI programs using DVM-system", in Scientific service Internet: proceedings of the 22nd All-Russian Scientific Conference, Moscow, Russia, September 21-25, 2020, (Keldysh Institute of Applied Mathematics, Moscow, 2020), pp. 80-100. DOI: 10.20948/abrau-2020-29 EDN: MFBEGC
-
Heterogeneous cluster K60. https://www.kiam.ru/MVS/resourses/k60.html. Cited October 15, 2021.
Выпуск
Методы и алгоритмы вычислительной математики и их приложения.
Параллельные программные средства и технологии.
Другие статьи выпуска
Поиск типичных подпоследовательностей временного ряда является одной из актуальных задач интеллектуального анализа временных рядов. Данная задача предполагает нахождение набора подпоследовательностей временного ряда, которые адекватно отражают течение процесса или явления, задаваемого этим рядом. Поиск типичных подпоследовательностей дает возможность резюмировать и визуализировать большие временные ряды в широком спектре приложений: мониторинг технического состояния сложных машин и механизмов, интеллектуальное управление системами жизнеобеспечения, мониторинг показателей функциональной диагностики организма человека и др. Предложенная недавно концепция сниппета формализует типичную подпоследовательность временного ряда следующим образом. Сниппет представляет собой подпоследовательность, на которую похожи многие другие подпоследовательности данного ряда в смысле специализированной меры схожести, основанной на евклидовом расстоянии. Поиск типичных подпоследовательностей с помощью сниппетов показывает адекватные результаты для временных рядов из широкого спектра предметных областей, однако соответствующий алгоритм имеет высокую вычислительную сложность. В настоящей работе предложен новый параллельный алгоритм поиска сниппетов во временном ряде на графическом ускорителе. Распараллеливание выполнено с помощью технологии программирования CUDA. Разработаны структуры данных, позволяющие эффективно распараллелить вычисления на графическом процессоре. Представлены результаты вычислительных экспериментов, подтверждающих высокую производительность разработанного алгоритма.
The paper covers an intelligent support system that allows to describe and construct solutions to various scientific problems. In this study, in particular, we consider geophysical problems. This system is being developed at the Institute of Computational Mathematics and Mathematical Geophysics of the Russian Academy of Sciences (ICMMG SB RAS) and Institute of Informatics System of the Russian Academy of Sciences (IIS SB RAS). The system contains a knowledge base, the core of which is a set of several interconnected ontologies such as the ontology of supercomputer architectures, the ontology of algorithms and methods. Ontology can be viewed as a set of concepts and how those concepts are linked. As the result, the authors present an ontological description of two geophysical problems via the means of the intelligent support system: 1) the seismic wavefield simulation and 2) the reconstruction of a seismic image through pre-stack time or depth migration. For a better visual understanding of the system described and the results obtained, the paper also contains several schematic diagrams and images.
This paper is concerned with implementation of wave tomography algorithms on modern SIMD CPU and GPU computing platforms. The field of wave tomography, which is currently under development, requires powerful computing resources. Main applications of wave tomography are medical imaging, nondestructive testing, seismic studies. Practical applications depend on computing hardware. Tomographic image reconstruction via wave tomography technique involves solving coefficient inverse problems for the wave equation. Such problems can be solved using iterative gradient-based methods, which rely on repeated numerical simulation of wave propagation process. In this study, finite-difference time-domain (FDTD) method is employed for wave simulation. This paper discusses software implementation of the algorithms and compares the performance of various computing devices: multi-core Intel and ARM-based CPUs, NVidia graphics processors.
Схема КАБАРЕ, являющаяся представителем семейства балансно-характеристических методов, широко используется при решении многих задач для систем дифференциальных уравнений гиперболического типа в эйлеровых переменных. Возрастающая актуальность задач взаимодействия деформируемых тел с потоками жидкости и газа требует адаптации этого метода на лагранжевы и смешанные эйлерово-лагранжевы переменные. Ранее схема КАБАРЕ была построена для одномерных уравнений газовой динамики в массовых лагранжевых переменных, а также для трехмерных уравнений динамической упругости. В первом случае построенную схему не удалось обобщить на многомерные задачи, а во втором - использовался необратимый по времени алгоритм передвижения сетки. В данной работе представлено обобщение метода КАБАРЕ на двумерные уравнения газовой динамики и динамической упругости в смешанных эйлерово-лагранжевых и лагранжевых переменных. Построенный метод является явным, легко масштабируемым и обладает свойством временной обратимости. Метод тестируется на различных одномерных и двумерных задачах для обеих систем уравнений (соударение упругих тел, поперечные колебания упругой балки, движение свободной границы идеального газа).
Выделенные свойства циклов DFS-базиса блока карты простого графа позволили составить математическую модель вычисления циклов ячеек карты графа. По данной модели предложен практический алгоритм вычисления циклов ячеек карты графа. Алгоритм имеет квадратическую сложность относительно числа вершин в графе.
В настоящей работе представлен новый метод решения уравнений движения заряженных частиц в электромагнитных полях и проведено его сравнение с различными известными модификациями метода Бориса. Созданные двумерный и трехмерный алгоритмы основаны на использовании точного решения дифференциального уравнения для скорости заряженной частицы на шаге по времени. Сравнительный анализ метода Бориса и его модификаций проводился как по точности методов, так и по времени их работы. Новая модификация метода Бориса позволяет точнее вычислять траекторию и скорость заряженной частицы без значительного увеличения сложности расчетов. Показано, что при выборе модификации метода Бориса для решения задачи в первую очередь следует обращать внимание на точность решения, так как более простая и быстрая схема может не дать выигрыша по времени.
Работа связана с изучением нелинейных параболических систем, возникающих при моделировании и управлении физико-химическими процессами, в которых происходят изменения внутренних свойств материалов. Исследовано оптимальное управление одной из таких систем, которая включает в себя краевую задачу третьего рода для квазилинейного параболического уравнения с неизвестным коэффициентом при производной по времени, а также уравнение изменения по времени этого коэффициента. Обоснована постановка оптимальной задачи с финальным наблюдением искомого коэффициента, в которой управлением является граничный режим на одной из границ области. Получено явное представление дифференциала минимизируемого функционала через решение сопряженной задачи. Доказаны условия ее однозначной разрешимости в классе гладких функций. Полученные результаты имеют практическое значение для приложений в различных технических областях, медицине, геологии и т.п. Приведены некоторые примеры таких приложений.
В статье представлен параллельный алгоритм валидации решений задач линейного программирования. Идея метода состоит в том, чтобы генерировать регулярный набор точек на гиперсфере малого радиуса, центрированной в точке тестируемого решения. Целевая функция вычисляется для каждой точки валидационного множества, принадлежащей допустимой области. Если все полученные значения меньше или равны значению целевой функции в точке, проверяемой как решение, то эта точка считается корректным решением. Параллельная реализация алгоритма VaLiPro выполнена на языке C++ с использованием параллельного BSF-каркаса, инкапсулирующего в проблемно-независимой части своего кода все аспекты, связанные с распараллеливанием программы на базе библиотеки MPI. Приводятся результаты масштабных вычислительных экспериментов на кластерной вычислительной системе, подтверждающие эффективность предложенного подхода.
Издательство
- Издательство
- МГУ
- Регион
- Россия, Москва
- Почтовый адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- Юр. адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- ФИО
- Садовничий Виктор Антонович (РЕКТОР)
- E-mail адрес
- info@rector.msu.ru
- Контактный телефон
- +7 (495) 9391000
- Сайт
- https://msu.ru/