Loop Tiling for ParallelismSpringer Science & Business Media, 6 déc. 2012 - 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:
|
Table des matières
| 1 | |
NONSINGULAR TRANSFORMATIONS AND PERMUTABILITY 35 | 34 |
Tiling as a Loop Transformation | 70 |
PARALLELEPIPED TILING | 101 |
Tiling for DistributedMemory Machines | 121 |
COMMUNICATIONMINIMAL TILING | 169 |
TIMEMINIMAL TILING | 199 |
| 247 | |
Autres éditions - Tout afficher
Expressions et termes fréquents
address space algorithm array B₁ canonical transformation Chapter column component convex cones cubic equation d₁ data dependences defined denoted dependence cone dependence vector det(B det(H distance vectors dmax dmin element loops equation execution extremal rays Ffree Fidle Fourier-Motzkin elimination function Hermite normal form hopt i₁ inequalities integer matrix integer points k-th L₁ legality test Lemma lexicographic order linear loop bounds loop indices loop nest loop skewing loop tiling loop transformations mapping message-passing code Minimise nonlocal data nonnegative nonsingular transformation optimal solution optimal tile optimisation problem parallelepiped tiling pass-free pass-idle perfect loop nest permutable loop nests permutable nest polyhedral polyhedron polytope positive root processor Proof Py(d quartic equation read-only data rectangular tiling running example shown in Figure space graph SPMD code t₁ Tfree Theorem Tidle tile dependences tile loops tiled iteration space unimodular matrix unimodular transformation Wopt
