Abstract
The paper proposes an approach to implementation of program analysis in SAPFOR (System FOR Automated Parallelization). This is a software development suit that is focused on cost reduction of manual program parallelization. It was primarily designed to perform source-to-source transformation of a sequential program for execution on parallel architectures with distributed memory. LLVM (Low Level Virtual Machine) compiler infrastructure is used to examine a program. This paper focuses on establishing a correspondence between the properties of the program in the programming language and the properties of its low-level representation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Klinov, M.S., Krukov, V.A.: Automatic parallelization of fortran programs. Mapping to cluster. Vestnik of Lobachevsky University of Nizhni Novgorod, no. 2, pp. 128–134. Nizhni Novgorod State University Press, Nizhni Novgorod (2009). (in Russian)
Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: Proceedings of the 2004 International Symposium on Code Generation and Optimization (CGO 2004), Palo Alto, California (2004)
Seo, S., Jo, G., Lee, J.: Performance characterization of the nas parallel benchmarks in OpenCL. In: 2011 IEEE International Symposium on Workload Characterization (IISWC), pp. 137–148 (2011)
Konovalov, N.A., Krukov, V.A., Mikhajlov, S.N., Pogrebtsov, A.A.: Fortan DVM: a language for portable parallel program development. Program. Comput. Softw. 21(1), 35–38 (1995)
Bakhtin, V.A., et al.: Extension of the DVM-model of parallel programming for clusters with heterogeneous nodes. Bulletin of South Ural State University. Series: Mathematical Modeling, Programming & Computer Software, vol. 18(277), nol. 12, pp. 82–92. Publishing of the South Ural State University, Chelyabinsk (2012). (in Russian)
NAS Parallel Benchmarks. https://www.nas.nasa.gov/publications/npb.html. Accessed 14 Apr 2018
Kataev, N.A., Bulanov, A.A.: Automated transformation of Fortran programs essential for their efficient parallelization through SAPFOR system. In: Parallel Computational Technologies (PCT 2015): Proceedings of the International Scientific Conference, Ekaterinburg, Russia, 30th March–3rd April 2015, pp. 172–177. Chelyabinsk, Publishing of the South Ural State University (2015). (in Russian)
Kataev, N., Kolganov, A., Titov, P.: Automated parallelization of a simulation method of elastic wave propagation in media with complex 3D geometry surface on high-performance heterogeneous clusters. In: Malyshkin, V. (ed.) PaCT 2017. LNCS, vol. 10421, pp. 32–41. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-62932-2_3
Bakhtin, V.A., Kataev, N.A., Klinov, M.S., Krukov, V.A., Podderugina, N.V., Pritula, M.N.: Automatic parallelization of Fortran programs to a cluster with graphic accelerators. In: Parallel Computational Technologies (PCT 2012): Proceedings of the International Scientific Conference, Novosibirsk, Russia, 26 March–30 2012, pp. 373–379. Publishing of the South Ural State University, Chelyabinsk (2012). (in Russian)
pC++/Sage++. http://www.extreme.indiana.edu/sage/. Accessed 14 Apr 2018
Niziev, V.G., Koldoba, A.V., Mirzade, F.H., Panchenko, V.Y., Poveschenko, Y.A., Popov, M.V.: Numerical modeling of melting process of two-component powders in laser agglomeration. Math. Model. 23(4), 90–102 (2011). (in Russian)
Baranov, M.S., Ivanov, D.I., Kataev, N.A., Smirnov, A.A.: Automated parallelization of sequential C-programs on the example of two applications from the field of laser material processing. In: CEUR Workshop Proceedings 1st Russian Conference on Supercomputing Days 2015, vol. 1482, p. 536 (2015)
Armstrong, B., Eigenmann, R.: Challenges in the automatic parallelization of large-scale computational applications. In: Proceedings of SPIE 4528, Commercial Applications for High-Performance Computing, 27 July 2001, p. 50 (2001). https://doi.org/10.1117/12.434876
Bakhtin, V.A., et al.: Automation of software packages parallelization. In: Scientific Service on the Internet. Proceedings of the International Scientific Conference, Novorossiysk, 19th September–24th 2016, pp. 76–85. Keldysh Institute of Applied Mathematics RAS, Moscow (2016)
Lee, S.-I., Johnson, T.A., Eigenmann, R.: Cetus – an extensible compiler infrastructure for source-to-source transformation. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, pp. 539–553. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24644-2_35
ROSE compiler infrastructure. http://rosecompiler.org/. Accessed 14 Apr 2018
Optimizing parallelizing system. http://ops.rsu.ru/en/about.shtml. Accessed 14 Apr 2018
Clang: a C language family frontend for LLVM. https://clang.llvm.org/. Accessed 14 Apr 2018
GitHub - flang-compiler/flang. https://github.com/flang-compiler/flang. Accessed 14 Apr 2018
Goff, G., Kennedy, K., Tseng, C.-W.: Practical dependence testing. In: Proceedings of the ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation (PLDI 1991), pp. 15–29. ACM, New York (1991)
Tu, P., Padua, D.: Automatic array privatization. In: Pande, S., Agrawal, D.P. (eds.) Compiler Optimizations for Scalable Parallel Systems. LNCS, vol. 1808, pp. 247–281. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45403-9_8
Acknowledgement
The reported study was funded by the Program of the Presidium of RAS 26 “Fundamental basis for creating algorithms and software for perspective ultrahigh-performance computing”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Kataev, N. (2019). Application of the LLVM Compiler Infrastructure to the Program Analysis in SAPFOR. In: Voevodin, V., Sobolev, S. (eds) Supercomputing. RuSCDays 2018. Communications in Computer and Information Science, vol 965. Springer, Cham. https://doi.org/10.1007/978-3-030-05807-4_41
Download citation
DOI: https://doi.org/10.1007/978-3-030-05807-4_41
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-05806-7
Online ISBN: 978-3-030-05807-4
eBook Packages: Computer ScienceComputer Science (R0)