Algorithm for automatic loop parallelization for graphics processing units

А.Yu. Doroshenko, O.A. Yatsenko, O.G. Beketov

Abstract


Parallelization of loop operators is a long standing problem of parallel programming. The widespread use of graphics processing units for computational tasks has resulted in the new statement of the mentioned problem for this class of multicore systems. The purpose of this work is to improve the mechanism of transformation of cyclic operators for loop parallelization for execution on a graphics processing unit. Software tool for computation optimization that allows to parallelize cyclic operators semi‑automatically was developed. Data bufferization synchronized with main loop execution was implemented, and the software tool using the rewriting rules system TermWare was built and integrated with the toolkit for design and synthesis of programs IDS. The developed system was tested using heterogeneous multicore cluster. The advantages of the developed system in comparison with well-known parallelization system Par4All consist in processing speed and the possibility of processing of data amounts exceeding the amount of memory of a graphics processing unit, and also the ability to use several graphics processing units simultaneously. The developed system was applied for parallelization of a serial loop, which is the part of a numerical weather forecasting program.

Problems in programming 2017; 4: 028-036


Keywords


parallelization methods; loop optimization; general-purpose computing on graphics processing units; program design and synthesis

Full Text:

PDF (Ukrainian)

References


Doroshenko A.Yu., Beketov O.G. (2017) Method of parallelization of loops for grid calculation problems on GPU accelerators. Problems in programming. (1). P. 59–66. (in Ukrainian).

PIPS: Automatic Parallelizer and Code Transformation Framework [Online]. Available from: http://pips4u.org/

Doroshenko A. & Shevchenko R. (2006) A rewriting framework for rule-based programming dynamic applications. Fundamenta Informaticae. 72 (1-3). P. 95–108.

Andon P.I. et al. (2017) Methods of algebraic programming: formal methods of parallel program development. Kyiv: Naukova dumka. (in Russian).

Doroshenko A.Yu., Beketov O.G., Prusov V.A., Tyrchak Yu.M. & Yat-senko O.A. (2014) Formalized designing and generation of parallel program for numerical weather forecasting task. Problems in programming. (2 3). P. 72–81. (in Ukrainian).


Refbacks

  • There are currently no refbacks.