Static analysis of private variables in the system of automated parallelization of Fortran programs

Authors

A.S. Kolganov, N.N. Korolev

Annotation

The resource of parallelism in the programs is mainly concentrated in loops. To perform a loop in parallel, it is necessary to ensure the absence of data dependences. One type of such dependencies are dependencies on scalar variables, which can be privatized for each iteration of the loop, since they are used only within one iteration. This article analyzes the problem of automatic determination and placement of privatized variables in the loops for their parallel execution in Fortran programs. The algorithm of their determination based on data flow analysis methods and its extension for interprocedural analysis is proposed. The results of  the algorithm testing on some programs from the NASA test package, and on the composite model of multicomponent filtration in the development of oil and gas fields are presented.

The work was funded by RFBR grants Nos. 17-01-00820, 18-01-00851 A.

Key words

Private variables, static analysis, parallelization, dependencies.

Language

Russian

Reference

A.S. Kolganov, N.N. Korolev. Static analysis of private variables in the system of automated parallelization of Fortran programs // Parallel computing technologies - XII international conference, Pavt ' 2018, Rostov-on-don, 2-6 April 2018 Short articles and poster descriptions., Chelyabinsk: Publishing center SUSU, 2018, P. 286-294