Muutke küpsiste eelistusi

Loop Tiling for Parallelism 2000 ed. [Kõva köide]

  • Kõva köide
  • Hind: 141,35 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 166,29 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
For researchers and practitioners involved in optimizing compilers, and students in advanced computer architecture, Xue (computer science and engineering, U. of New South Wales, Australia) explores the use of one of the most important compiler optimizations as it is used with parallel machines. He shows how it can reduce communications cost and improve parallelism for distributed memory machines. After providing mathematical foundations, he investigates loop permutability in the framework of non-singular loop transformations, discusses the necessary machineries required, and presents current results for finding tiling choices with the minimal communication and time. Each chapter includes references to the original literature. Annotation c. Book News, Inc., Portland, OR (booknews.com)

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.

Muu info

Springer Book Archives
List of Figures
ix
List of Tables
xiii
Preface xv
Acknowledgments xix
Part I Mathematic Background and Loop Transformation
Mathematical Background
3(32)
Logic
3(1)
Sets
4(1)
Arithmetic
4(1)
Vectors and Matrices
4(2)
Roots of Cubic and Quartic Equations
6(5)
Integer Matrices
11(6)
Convex Analysis
17(2)
Convex Polyhedra
19(1)
Convex Cones
20(8)
Fourier-Motzkin Elimination
28(4)
Further Reading
32(3)
Nonsingular Transformations and Permutability
35(38)
Perfectly Nested Loops
36(2)
Dependence Vectors and Their Polyhedra
38(5)
Iteration-Reordering Transformations
43(16)
Fully Permutable Loop Nests
59(8)
Further Reading
67(6)
Part II Tiling as a Loop Transformation
Rectangular Tiling
73(28)
Modeling Rectangular Tiling
74(4)
Legality Test
78(7)
Tile Dependences and Tile Space Graph
85(1)
Tiled Code
85(2)
Tiling-Related Transformations
87(7)
Yet Another Tiling Model
94(2)
Further Reading
96(5)
Parallelepiped Tiling
101(22)
Why Parallelepiped Tiling?
102(5)
Legality Test
107(6)
Tile Dependences and Tile Space Graph
113(1)
Tiled Code
113(1)
Decomposition of Parallelepiped Tiling
113(3)
Yet Another Tiling Model
116(2)
Loop Partitioning v.s. Loop Tiling
118(2)
Further Reading
120(3)
Part III Tiling for Distributed-Memory Machines
SPMD Code Generation
123(46)
Background
124(6)
Machine Model
130(1)
Computation Distribution
131(2)
Data Distribution
133(1)
I/O Code Generation
134(3)
Message-Passing Code Generation
137(9)
Memory Management
146(10)
SPMD Code in Local Address Space
156(2)
SPMD Code for Parallelepiped Tiling
158(2)
Experiments
160(8)
Further Reading
168(1)
Communication-Minimal Tiling
169(30)
Computation & Communication Volumes
172(4)
Problem Formulation
176(3)
Closed-Form Optimal Tilings
179(8)
All Extremal-Ray Optimal Tilings
187(9)
Making H-1 Integral
196(1)
Further Reading
196(3)
Time-Minimal Tiling
199(48)
Parallelogram Tiling
199(2)
Executing Tiles in the SPMD Paradigm
201(1)
Computation and Communication Models
202(2)
Rise
204(1)
Optimal Tile Size
204(29)
Experiments
233(12)
Further Reading
245(2)
Bibliography 247(8)
Index 255