Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Crystal: theory and pragmatics of generating efficient parallel code
Parallel functional languages and compilers
An introduction to systolic algorithm design
An introduction to systolic algorithm design
The Organization of Computations for Uniform Recurrence Equations
Journal of the ACM (JACM)
Loop Transformations for Restructuring Compilers: The Foundations
Loop Transformations for Restructuring Compilers: The Foundations
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
Hi-index | 0.00 |
The paper presents, first, the Structural Blanks (SB) approach, then a method to compose loop programs. SB is an approach for expressing computations based on recurrence relations and focuses on data dependencies in loops. The paper presents language constructs and semantics for expressing programs that have complex data dependency patterns. These constructs are expressed using structural “blanks” for computations based on recurrence relations. In SB the recurrence structure and the functional part of a recurrence relation may be described separately. Therefore declarative representation of data dependencies is examined. SB aims at supporting the transformational development and reuse of program modules. The approach deals with two aspects: pragmatics and semantics. In the paper we aim at: (1) developing a theory and language for functional and structural modules, (2) an algorithm for composition of structural modules. The approach is illustrated by toy problems: the Fibonacci function, heat flow, etc. Hence the reuse and verification are viewed as those of, e.g., stacks, queues, bubble sort, etc.