XX all-Russian conference Scientific service on the Internet 2018 was held on Semptember 17th - 22nd, 2018 in Russia, Novorossiysk, Abrau-Durso, a boarding house 'Sailor'.
N.A. Kataev has proposed there a speaker paper:
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”.
This article is written by N.A. Kataev.
A.S. Kolganov has proposed there a speaker paper:
When paralleling real industrial programs of computational nature we have to deal with the following problems, common for such programs: multi-modularity, multivariance, multilanguage. The large amount of program code makes it difficult to perform the necessary parallelization transformations manually and make decisions on the consistent distribution of data and computations. Therefore, it was proposed to implement a partial or incremental parallelization for clusters in the SAPFOR system. In addition, special attention was paid to the automatic determination of the required transformations of a serial program and their automatic execution. However, the problems caused by multi-modularity, multivariance and multilanguage also need to be solved. The article discusses possible ways to overcome these problems.
The work was funded by RFBR (projects № 16-07-01067, 16-07-01014, 16-29-09550, 17-01-00820, 18-01-00851) and programs of the Presidium of RAS No. 26 “The fundamental principles of development of algorithms and software for advanced highly productive computing”.
This article is written by a team of the following authors V.A. Bakhtin, N.A. Kataev, A.S. Kolganov, V.A. Krukov, M.Yu. Kuznecov, N.V. Podderugina, M.N. Pritula, O.A. Savitskaya, A.A. Smirnov, O.F. Zhukova.