The consistent representation of Fortran programs in the PARFOR compiler at different levels of abstraction
Parallelizing compiler PARFOR as separate toolkit from automated parallelization system SAPFOR is designed to develop parallel programs in Fortran and C languages with implicit parallelism. The aim of the PARFOR compiler development is the automatic transformation of a program source code to run on a computational cluster. Implicit parallel programming assumes the possibility to describe the properties of the source serial program to simplify searching of the program necessary transformations. The parallelization is performed in the DVMH model in Fortran-DVMH and C-DVMH languages correspondingly. The LLVM compiler system is used for the program analysis, and the transformations are based on the representation of programs in the form of an abstract syntax tree (AST). In this paper we describe an approach that allows to consistently consider programs at two levels of abstraction: source code level and low-level representation, using the low-level representation potential in relation to the program analysis and saving a user-friendly view of the displayed information. The paper considers also the possibility of transformed LLVM IR research to increase the accurasy of performed analysis. The main reasons for choosing LLVM as an instrumental base for the development of the compiler PARFOR are explained also in the paper.
The work was funded by RFBR (projects 16-07-01014, 17-01-00820, 18-01-00851) and program of Presidium of RAS No. 26 “The fundamental principles of development of algorithms and software for advanced highly productive computing”.
Implicit parallelism, program transformation, program analysis, program parallelization, SAPFOR, DVM, LLVM.
N.A. Kataev. The consistent representation of Fortran programs in the PARFOR compiler at different levels of abstraction // Scientific service on the Internet: proceedings of XX all-Russian scientific conference (17-22 September 2018, Novorossiysk), Moscow: Keldysh Institute of Applied Mathematics RAS, 2018, P. 295-305