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 stateoftheart results for finding communication and timeminimal 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 sharedmemory 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; • Selfcontained 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; • Uptodate results on tile size and shape selection for reducing communication and improving parallelism; • Endofchapter references for further reading. Researchers and practitioners involved in optimizing compilers and students in advanced computer architecture studies will find this a lucid and wellpresented reference work with numerous citations to original sources.
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 stateoftheart results for finding communication and timeminimal 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 sharedmemory 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; • Selfcontained 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; • Uptodate results on tile size and shape selection for reducing communication and improving parallelism; • Endofchapter references for further reading. Researchers and practitioners involved in optimizing compilers and students in advanced computer architecture studies will find this a lucid and wellpresented reference work with numerous citations to original sources.
Barnes & Noble is the world’s largest retail bookseller and a leading retailer of content, digital media and educational products. Our Nook Digital business offers a lineup of NOOK® tablets and e-Readers and an expansive collection of digital reading content through the NOOK Store®. Barnes & Noble’s mission is to operate the best omni-channel specialty retail business in America, helping both our customers and booksellers reach their aspirations, while being a credit to the communities we serve.