(сетевой с №3-2015)
(сетевой с №2-2015)
|Articles and journals | Tariffs | Payments | Your profile|
Automatic parallelization of C programs using Cilk ++ directives based on recognizing object-event models
Abstract.In this paper, the author considers the problem of automatic parallelization of C programs (mainly computational) with the use of Cilk ++ directives, with the help of a limited set of which parallelism in tasks can be clearly expressed. To solve this problem, the concept of recognizing object-event models, potentially capable of parsing and transforming arbitrary texts, is formulated. This concept is a development of the theory of object-event models proposed by the author earlier, which, in the marginal formulation, are equivalent to advanced Turing machines. A general approach of the theory of object-event models is used, which asserts the possibility of describing arbitrary algorithms using these models. The technology of analysis and transformation of both structured and non-structured texts with the use of recognizing object-event models is proposed. A strategy is proposed for automatic parallelization of C programs using Cilk ++ directives based on this technology. Using the example of automatic parallelization of a simple computing program, data on acceleration and efficiency of parallelization are obtained. It is argued that the developed technology can be used as part of a program generating system for parallelizing the generated programs.
Keywords: program generation system, algorithm transformation, algorithm recognition, object-event models, Cilk, C programming language, automatic parallelizing, logical programming, task parallelism, parallel computations
Article was received:07-12-2018
This article written in Russian. You can find full text of article in Russian here .