Programming high-performance parallel computations: formal models and graphics processing units
- PDF / 169,797 Bytes
- 10 Pages / 595.276 x 793.701 pts Page_size
- 67 Downloads / 199 Views
SOFTWARE–HARDWARE SYSTEMS PROGRAMMING HIGH-PERFORMANCE PARALLEL COMPUTATIONS: FORMAL MODELS AND GRAPHICS PROCESSING UNITS P. I. Andon,a‡ A. Yu. Doroshenko,a‡ and K. A. Zhereba††
UDC 681.3
Abstract. This article presents a line of development of formal design methods that is based on the concepts of algebraic programming and algebraic dynamic program models using rewriting rules for the automated design of efficient programs for graphics processing units. The developed formal methods are illustrated by examples that show high efficiency of transformations. Keywords: high-performance parallel computations, formal programming method, algebraic dynamic model of a program, rewriting rule, graphics processing unit. INTRODUCTION In the past decade, the development of architectures and methods of programming high-performance parallel computing systems has undergone important changes. Up to the middle of the 2000s, the performance of computers could be increased owing to both the increase in the clock frequency of processors and increase in the number of processors. However, in the second half of the past decade, only the latter mentioned possibility has practically remained as a result of manufacturer’s refusal to further increase clock frequency because of difficulties of solving the heatsink problem and appearance of multi-core architectures [1]. For programmers and researchers, such a turn means only a paradigm shift and the necessity of creation of new models for programming parallel computations corresponding to new realities in the development of computer technology. First attempts of a radical solution of the problem on the basis of some individual technology (such as the concept of transactional memory proposed by Intel [2] and the CCR Library developed by Microsoft [3]) were unsuccessful. This has shown once again that the development of efficient programs for a new class of multi-core architectures is a large-scale scientific-technical problem whose successful solution can be provided stage by stage by fully taking into account the specificity of object domains and profound coverage of stages of the life cycle of programs being developed with the application of computer-aided design and programming tools beginning with writing initial specifications before the executable code generation. This automation is mainly based on a high-level formalization of designing multithreaded programs and automation of formal transformations of programs with a view to optimizing their performance according to prescribed criteria (memory, speed, equipment load, etc.). This work proposes formal algebraic dynamic models of parallel computations destined for the automation of programming of a rather new class of multiprocessor systems, namely, video graphic accelerators or general-purpose graphics processing units (GPGPU). The experience of application of such models to computer-aided design and programming of parallel computations springs from the project of the macroconveyor computer complex [4] that was developed at the Institute
Data Loading...