Loop Tiling for Parallelism

Couverture
Springer Science & Business Media, 31 août 2000 - 256 pages
Loop tiling, as one of the most important compiler optimizations, is beneficial for both parallel machines and uniprocessors with a memory hierarchy. This book explores the use of loop tiling for reducing communication cost and improving parallelism for distributed memory machines. The author provides mathematical foundations, investigates loop permutability in the framework of nonsingular loop transformations, discusses the necessary machineries required, and presents state-of-the-art results for finding communication- and time-minimal tiling choices. Throughout the book, theorems and algorithms are illustrated with numerous examples and diagrams. The techniques presented in Loop Tiling for Parallelism can be adapted to work for a cluster of workstations, and are also directly applicable to shared-memory machines once the machines are modeled as BSP (Bulk Synchronous Parallel) machines.
Features and key topics:
  • Detailed review of the mathematical foundations, including convex polyhedra and cones;
  • Self-contained treatment of nonsingular loop transformations, code generation, and full loop permutability;
  • Tiling loop nests by rectangles and parallelepipeds, including their mathematical definition, dependence analysis, legality test, and code generation;
  • A complete suite of techniques for generating SPMD code for a tiled loop nest;
  • Up-to-date results on tile size and shape selection for reducing communication and improving parallelism;
  • End-of-chapter references for further reading.
Researchers and practitioners involved in optimizing compilers and students in advanced computer architecture studies will find this a lucid and well-presented reference work with numerous citations to original sources.
 

Avis des internautes - Rédiger un commentaire

Aucun commentaire n'a été trouvé aux emplacements habituels.

Table des matières

V
3
VII
4
X
6
XI
11
XII
17
XIII
19
XIV
20
XV
28
XL
120
XLI
123
XLII
124
XLIII
130
XLIV
131
XLV
133
XLVI
134
XLVII
137

XVI
32
XVII
35
XIX
36
XX
38
XXI
43
XXII
59
XXIII
67
XXIV
73
XXV
74
XXVI
78
XXVII
85
XXIX
87
XXX
94
XXXI
96
XXXII
101
XXXIII
102
XXXIV
107
XXXV
113
XXXVIII
116
XXXIX
118
XLVIII
146
XLIX
156
L
158
LI
160
LII
168
LIII
169
LIV
172
LV
176
LVI
179
LVII
187
LVIII
196
LX
199
LXII
201
LXIII
202
LXIV
204
LXVI
233
LXVII
245
LXVIII
247
LXIX
255
Droits d'auteur

Autres éditions - Tout afficher

Expressions et termes fréquents

Fréquemment cités

Page iii - School of Computer Science and Engineering, The University of New South Wales, Sydney, NSW 2052, Australia, Email: arun@cse.unsw.edu.au Abstract.
Page 252 - Static and dynamic evaluation of data dependence analysis techniques. IEEE Transactions on Parallel and Distributed Systems, 7(1 1):1 121-1 132, november 1996. [31] K. Psarris and K. Kyriakopoulos. An experimental evaluation of data dependence analysis techniques.
Page 252 - GL Nemhauser and LA Wolsey, Integer and Combinatorial Optimization, Interscience Series in Discrete Mathematics and Optimization (John Wiley & Sons, 1988).
Page 252 - N. Mitchell, K. Hogstedt, L. Carter, and J. Ferrante. Quantifying the multi-level nature of tiling interactions.

Informations bibliographiques