A Systolic Array Parallelizing Compiler

Front Cover
Springer Science & Business Media, Aug 31, 1990 - Computers - 130 pages
Widespread use of parallel processing will become a reality only if the process of porting applications to parallel computers can be largely automated. Usually it is straightforward for a user to determine how an application can be mapped onto a parallel machine; however, the actual development of parallel code, if done by hand, is typically difficult and time consuming. Parallelizing compilers, which can gen erate parallel code automatically, are therefore a key technology for parallel processing. In this book, Ping-Sheng Tseng describes a parallelizing compiler for systolic arrays, called AL. Although parallelizing compilers are quite common for shared-memory parallel machines, the AL compiler is one of the first working parallelizing compilers for distributed memory machines, of which systolic arrays are a special case. The AL compiler takes advantage of the fine grain and high bandwidth interprocessor communication capabilities in a systolic architecture to generate efficient parallel code. xii Foreword While capable of handling an important class of applications, AL is not intended to be a general-purpose parallelizing compiler.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Introduction
1
Systolic array programming
5
21 The Warp machine
6
22 The W2 programming language
8
23 The AL programming language
11
24 Related work
18
Data relations
21
31 Linear data relations
24
Evaluation
69
61 Matrix computations
73
612 QR decomposition
81
613 Singular value decomposition
85
62 2D Fast Fourier Transform
89
63 Partial differential equation solvers
92
632 Line SOR
93
633 Twocolor SOR
95

32 Joint data compatibility classes
28
33 Scope of data compatibility classes
32
34 Summary
35
Loop Distribution
37
41 Intercell communication
38
42 The basic loop distribution scheme
41
43 Distributed loop parallelism
44
432 Interloop parallelism
45
44 Optimization
48
442 Communication scheduling
49
45 Related work
56
Implementation
59
52 Compiling DO loops
61
53 The ALIGN statement
62
54 Parallel accumulation
64
55 Program debugging
67
64 Summary
99
Conclusions
101
Bibliography
105
Linear data relations in Livermore Loops
109
Benchmark programs
115
B12 Multiple cells
116
B2 QR decomposition
118
B3 Singular value decomposition
120
B32 Multiple cell
121
B4 2D Fast Fourier Transform
123
B42 Multiple cell
124
B5 Partial differential equation solvers
125
B52 Line SOR
126
B53 Twocolor SOR
127
Index
129
Copyright

Other editions - View all

Common terms and phrases

Bibliographic information