Advances in Systems Analysis, Software Engineering, and High Performance Computing - Formal and Adaptive Methods for Automation of Parallel Programs Construction
Latest Publications


TOTAL DOCUMENTS

4
(FIVE YEARS 4)

H-INDEX

0
(FIVE YEARS 0)

Published By IGI Global

9781522593843, 9781522593867

This chapter proposes an approach to the automated development of programs based on the use of ontological facilities and algebra-algorithmic toolkit for design and synthesis of programs (IDS). The program design ontology, developed using Protégé system and represented in OWL format, includes concepts from various subject domains (sorting, meteorological forecasting, and other) intended for description of main program objects: data, functions, and relations between them. IDS toolkit generates the initial (skeleton) algorithm scheme based on its ontological description extracted from OWL file. The generated scheme is the basis of further design of the algorithm and synthesis of a program in a target programming language. The approach is illustrated by examples of developing parallel sorting, meteorological forecasting, and N-body simulation programs.


In this chapter, some examples of application of the developed software tools for design, generation, transformation, and optimization of programs for multicore processors and graphics processing units are considered. In particular, the algebra-algorithmic-integrated toolkit for design and synthesis of programs (IDS) and the rewriting rules system TermWare.NET are applied for design and parallelization of programs for multicore central processing units. The developed algebra-dynamic models and the rewriting rules toolkit are used for parallelization and optimization of programs for NVIDIA GPUs supporting the CUDA technology. The TuningGenie framework is applied for parallel program auto-tuning: optimization of sorting, Brownian motion simulation, and meteorological forecasting programs to a target platform. The parallelization of Fortran programs using the rewriting rules technique on sample problems in the field of quantum chemistry is examined.


This chapter considers algebra-dynamic models of parallel programs, which are based on concepts of transition systems theory and algebra of algorithms. The models of sequential and parallel multithreaded programs for multicore processors and program models for graphics processing units are constructed. The authors describe transformations of programs aimed at transition from sequential to parallel versions (parallelization) and improving performance of parallel programs in respect to execution time (optimization). The transformations are based on using rewriting rules technique. The formal model of program auto-tuning as an evolutional extension of transition systems is proposed, and some properties of programs are considered.


This chapter gives an overview of programming methods (algebraic, parallel, adaptive, and other) related to the approach of the program design proposed in the book. Algorithm algebras intended for formalized description of algorithms in the form of high-level schemes are considered: Dijkstra's algebra associated with technology of structured programming; Kaluzhnin's algebra for graphical description of non-structured schemes of algorithms; Glushkov's algebra for description of structured schemes, including the facilities for computation process prediction and design of parallel algorithms; the algebra of algorithmics, which is based on the mentioned algebras. The signature of each algebra consists of predicate and operator constructs conforming to a specific method of algorithm design, that is, structured, non-structured, and other. Basic notions related to software auto-tuning are considered, and the classification of auto-tuners is given.


Sign in / Sign up

Export Citation Format

Share Document