Abstract
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.
Reference56 articles.
1. Programming high-performance parallel computations: formal models and graphics processing units
2. Backus, J. W. (1960). The syntax and semantics of the proposed international algebraic language of Zürich ACM-GAMM Conference. Proceedings of the 1st International Conference on Information Processing, 125-132.
3. Optimizing matrix multiply using PHiPAC
4. Lectures on constructive functional programming;R. S.Bird;Constructive Methods in Computer Science. NATO ASI Series F,1993