Преобразование последовательных Fortran-программ для их распараллеливания на гибридные кластеры в системе SAPFOR
Авторы
-
А. С. Колганов
-
Г. Д. Гусев
Ключевые слова:
SAPFOR (System FOR Automated Parallelization)
автоматизация распараллеливания на кластер
автоматизация преобразований
параллельные вычисления
DVM (Distributed Virtual Memory)
кластеры с графическими процессорами
Аннотация
Процесс распараллеливания программ может быть затруднён ввиду их оптимизации под последовательное выполнение. Из-за этого полученная параллельная версия может быть неэффективной, а в некоторых случаях распараллеливание оказывается невозможным. Решить указанные проблемы помогают преобразования исходного кода программ. В данной статье рассматривается реализации в системе автоматизированного распараллеливания SAPFOR (System FOR Automated Parallelization) преобразований последовательных Фортран-программ, позволяющих облегчить работу пользователя в системе и существенно снизить трудоемкость распараллеливания программ. Применение реализованных преобразований в системе SAPFOR продемонстрировано на прикладной программе, решающей систему нелинейных дифференциальных уравнений в частных производных. Также было произведено сравнение производительности полученной параллельной версией с версиями, распараллелеными вручную с использованием DVM и MPI технологий.
Раздел
Параллельные программные средства и технологии
Библиографические ссылки
- 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.1804&rep=rep1&type=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).
- 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.