ПРЕОБРАЗОВАНИЕ ПОСЛЕДОВАТЕЛЬНЫХ FORTRAN-ПРОГРАММ ДЛЯ ИХ РАСПАРАЛЛЕЛИВАНИЯ НА ГИБРИДНЫЕ КЛАСТЕРЫ В СИСТЕМЕ SAPFOR (2022)
Процесс распараллеливания программ может быть затруднён ввиду их оптимизации под последовательное выполнение. Из-за этого полученная параллельная версия может быть неэффективной, а в некоторых случаях распараллеливание оказывается невозможным. Решить указанные проблемы помогают преобразования исходного кода программ. В данной статье рассматривается реализации в системе автоматизированного распараллеливания SAPFOR (System FOR Automated Parallelization) преобразований последовательных Фортран-программ, позволяющих облегчить работу пользователя в системе и существенно снизить трудоемкость распараллеливания программ. Применение реализованных преобразований в системе SAPFOR продемонстрировано на прикладной программе, решающей систему нелинейных дифференциальных уравнений в частных производных. Также было произведено сравнение производительности полученной параллельной версией с версиями, распараллелеными вручную с использованием DVM и MPI технологий.
Идентификаторы и классификаторы
- eLIBRARY ID
- 50104875
С прекращением роста частоты отдельного процессора вследствие технических и физических ограничений дальнейшее повышение производительности вычислительных систем стало осуществляться через построение многоядерных и многопроцессорных архитектур. Однако написание параллельных программ для подобных систем существенно отличается от написания последовательных программ в силу иного порядка их выполнения. Более того, написание параллельных программ требует от программиста знаний об особенностях аппаратуры системы, на которой программа будет выполняться. Ситуация осложняется появлением новых параллельных архитектур. Для достижения параллелизма на всех уровнях и максимальной эффективности использования вычислительной системы программисту требуется знание различных технологий параллельного программирования (OpenMP [1], MPI [2], CUDA [3], OpenCL [4] и др.), в особенности если вычислительная система является гибридным кластером.
Список литературы
- OpenMP Specification. https://www.openmp.org/specifications/ Cited October 12, 2022.
- MPI Documents. https://www.mpi-forum.org/docs/ Cited October 12, 2022.
- CUDA Toolkit Documentation. https://docs.nvidia.com/cuda/ Cited October 12, 2022.
- Khronos OpenCL Registry. https://www.khronos.org/registry/OpenCL/ Cited October 12, 2022.
- 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
- 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
-
J. M. 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 12, 2022.
-
C. Lattner and V. Adve, "LLVM: A Compilation Framework for Lifelong Program Analysis Transformation", in Proc. Int. Symp. on Code Generation and Optimization. Palo Alto, USA, March 20-24, 2004,. 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 12, 2022.
-
Description of DVM-system. http://dvm-system.org/ Cited October 12, 2022.
-
Documentation for C-DVM and Fortran-DVMH Languages. http://dvm-system.org/ru/docs/ Cited October 12, 2022.
-
Description of SAPFOR System. http://keldysh.ru/dvm/SAPFOR/ Cited October 12, 2022.
-
V. A. Bakhtin, O. F. Zhukova, N. A. Kataev, et al., "Automation of Parallelization of Software Complexes", in Proc. Conf. on, "Scientific Service on the Internet'', Novorossiysk, Russia, September 19-24, 2016 (Keldysh Institute of Applied Mathematics, Moscow, 2016), pp. 76-85.
-
A. S. Kolganov, Automation of Parallelization of Fortran Programs for Heterogeneous Clusters, Candidate's Dissertation in Mathematics and Physics (Keldysh Institute of Applied Mathematics, Moscow, 2020). EDN: IJSEXC
-
O. V. Bartenev, Modern Fortran (DIALOG-MEPHI, Moscow, 2000) [in Russian].
-
A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques, and Tools (Addison-Wesley, Boston, 2006; Williams, Moscow, 2008).
-
NAS Parallel Benchmarks. https://www.nas.nasa.gov/software/npb.html Cited October 14, 2022.
Выпуск
Методы и алгоритмы вычислительной математики и их приложения.
Параллельные программные средства и технологии.
Другие статьи выпуска
В статье рассмотрен подход к автоматизированному распараллеливанию программ для кластеров с помощью системы SAPFOR (System FOR Automated Parallelization). Главной целью системы SAPFOR является автоматизация процесса отображения последовательных программ на параллельные архитектуры в модели DVMH, которая является моделью программирования, основанной на директивах. Помимо этого, система SAPFOR позволяет выполнять автоматически некоторый класс преобразований над исходным кодом программы по запросу пользователя через графический интерфейс. На определенных классах задач пользователь системы SAPFOR может рассчитывать на полностью автоматическое распараллеливание, если программа была написана или приведена к потенциально параллельному виду. Также в статье описаны подходы к построению схем распределения данных и вычислений на распределенную память в модели DVMH. Эффективность полученных алгоритмов построения схем аспределения данных и вычислений продемонстрирована на примере некоторых приложений из пакета NAS Parallel Benchmarks.
В данной статье рассматривается балансно-характеристический численный метод решения гиперболических систем уравнений на треугольных расчетных сетках. Описываются основные шаги алгоритма на примере решения двумерных уравнений мелкой воды. Метод верифицирован и проведено его сравнение с методами, разработанными другими авторами, на основных тестах для уравнений мелкой воды над ровным дном.
In this paper, we consider the Fredholm integral equations of the second kind and construct a new iterative scheme associated to the Nyström method, which was elaborated by Atkinson to approximate the solution over a large interval. Primarily, we demonstrate the inability to generalize the Atkinson iterative methods. Then, we describe our modified generalization in detail and discuss its advantages such as convergence of the iterative solution to the exact solution in the sense norm of the Banach space С0[a,b]. Finally, we give a numerical examples to illustrate the accuracy and reliability of our generalization.
В статье рассматривается параллельный алгоритм решения задач глобальной оптимизации и обсуждается его реализация с использованием набора инструментов Intel oneAPI. Предполагается, что целевая функция задачи задана как “черный ящик” и удовлетворяет условию Липшица. Изложенный в статье параллельный алгоритм использует схему редукции размерности на основе кривых Пеано, которые непрерывно и однозначно отображают отрезок вещественной оси на гиперкуб. В качестве средства для реализации параллельного алгоритма использован инструментарий Intel oneAPI, который позволяет писать один код как для центрального процессора, так и для графических ускорителей. Приведены результаты вычислительных экспериментов, полученные при решении серии сложных задач многоэкстремальной оптимизации.
На сегодняшний день многопроходный метод PIV (Particle Image Velocimetry) широко используется в области экспериментальной механики жидкости и газа из-за его высокой надежности при решении практических задач. Однако он имеет известное ограничение, связанное с ошибками, возникающими при вычислении производных скорости, необходимых для деформации обрабатываемых PIV-изображений при повышении производительности метода. Поскольку количество ошибок увеличивается с применением схем более высокого порядка, на практике чаще всего ограничиваются первым порядком, что в свою очередь приводит к снижению пространственного разрешения. В данной работе предлагается метод, допускающий применение схем более чем второго порядка, что позволяет заметно повысить точность измерения скорости и ее производных и тем самым увеличить пространственное разрешение. Метод не требует восстановления ошибочных векторов скорости, позволяет избежать численного расчета производных скорости и легко применим на практике.
Исследованы закономерности процессов испарения и конденсации чистого пара в методе решеточных уравнений Больцмана. Выполнено моделирование этих процессов при постоянных во времени потоках пара на границе расчетной области. Показано, что в этом случае осуществляются квазистационарные режимы испарения и конденсации. Предложен простой численно эффективный метод задания потока пара на плоской границе расчетной области путем вычисления функций распределения на входящих характеристиках метода решеточных уравнений Больцмана. В расчетах показано, что поток массы при испарении плоской поверхности пропорционален разности плотностей насыщенного и окружающего пара при данной температуре поверхности, что хорошо согласуется с законом Герца-Кнудсена. Результаты трехмерного и одномерного моделирования методом решеточных уравнений Больцмана совпадают с высокой точностью. Показано, что отношение разности плотностей к потоку вещества на границе фаз при заданной температуре линейно зависит от времени релаксации как для испарения, так и для конденсации. Исследовано влияние температуры на интенсивность потоков испарения и конденсации чистого пара. Обнаружена зависимость процессов испарения и конденсации от времени релаксации, которое определяет кинематическую вязкость флюида.
Работа посвящена построению параллельных алгоритмов решения прямой начально-краевой задачи и обратной задачи о восстановлении правой части для уравнения диффузии с дробной производной по времени. При использовании дополнительной информации о решении в некоторой внутренней точке обратная задача сводится к прямой задаче для вспомогательного уравнения. После применения конечно-разностных схем задачи сводятся к решению систем линейных алгебраических уравнений. Разработанные алгоритмы основаны на методе параллельной прогонки и реализованы для многоядерных процессоров с использованием технологии OpenMP. Проведены численные эксперименты для исследования производительности разработанных алгоритмов.
Издательство
- Издательство
- МГУ
- Регион
- Россия, Москва
- Почтовый адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- Юр. адрес
- оссийская Федерация, 119991, Москва, Ленинские горы, д. 1
- ФИО
- Садовничий Виктор Антонович (РЕКТОР)
- E-mail адрес
- info@rector.msu.ru
- Контактный телефон
- +7 (495) 9391000
- Сайт
- https://msu.ru/