Automatic Parallelization

An Overview of Fundamental Compiler Techniques

Nonfiction, Computers, Advanced Computing, Parallel Processing, Engineering, Computer Architecture, Database Management, Data Processing
Cover of the book Automatic Parallelization by Samuel P. Midkiff, Morgan & Claypool Publishers
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Samuel P. Midkiff ISBN: 9781608458424
Publisher: Morgan & Claypool Publishers Publication: January 1, 2012
Imprint: Morgan & Claypool Publishers Language: English
Author: Samuel P. Midkiff
ISBN: 9781608458424
Publisher: Morgan & Claypool Publishers
Publication: January 1, 2012
Imprint: Morgan & Claypool Publishers
Language: English

Compiling for parallelism is a longstanding topic of compiler research. This book describes the fundamental principles of compiling "regular" numerical programs for parallelism. We begin with an explanation of analyses that allow a compiler to understand the interaction of data reads and writes in different statements and loop iterations during program execution. These analyses include dependence analysis, use-def analysis and pointer analysis. Next, we describe how the results of these analyses are used to enable transformations that make loops more amenable to parallelization, and discuss transformations that expose parallelism to target shared memory multicore and vector processors. We then discuss some problems that arise when parallelizing programs for execution on distributed memory machines. Finally, we conclude with an overview of solving Diophantine equations and suggestions for further readings in the topics of this book to enable the interested reader to delve deeper into the field. Table of Contents: Introduction and overview / Dependence analysis, dependence graphs and alias analysis / Program parallelization / Transformations to modify and eliminate dependences / Transformation of iterative and recursive constructs / Compiling for distributed memory machines / Solving Diophantine equations / A guide to further reading

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

Compiling for parallelism is a longstanding topic of compiler research. This book describes the fundamental principles of compiling "regular" numerical programs for parallelism. We begin with an explanation of analyses that allow a compiler to understand the interaction of data reads and writes in different statements and loop iterations during program execution. These analyses include dependence analysis, use-def analysis and pointer analysis. Next, we describe how the results of these analyses are used to enable transformations that make loops more amenable to parallelization, and discuss transformations that expose parallelism to target shared memory multicore and vector processors. We then discuss some problems that arise when parallelizing programs for execution on distributed memory machines. Finally, we conclude with an overview of solving Diophantine equations and suggestions for further readings in the topics of this book to enable the interested reader to delve deeper into the field. Table of Contents: Introduction and overview / Dependence analysis, dependence graphs and alias analysis / Program parallelization / Transformations to modify and eliminate dependences / Transformation of iterative and recursive constructs / Compiling for distributed memory machines / Solving Diophantine equations / A guide to further reading

More books from Morgan & Claypool Publishers

Cover of the book Applied Digital Logic Exercises Using FPGAs by Samuel P. Midkiff
Cover of the book Photomedicine and Stem Cells by Samuel P. Midkiff
Cover of the book Outside the Research Lab, Volume 2 by Samuel P. Midkiff
Cover of the book Edmund Berkeley and the Social Responsibility of Computer Professionals by Samuel P. Midkiff
Cover of the book Magnetically Confined Fusion Plasma Physics by Samuel P. Midkiff
Cover of the book The Sparse Fourier Transform by Samuel P. Midkiff
Cover of the book Robot Learning from Human Teachers by Samuel P. Midkiff
Cover of the book Data-Intensive Text Processing with MapReduce by Samuel P. Midkiff
Cover of the book Essential Classical Mechanics for Device Physics by Samuel P. Midkiff
Cover of the book Distributed Computing Pearls by Samuel P. Midkiff
Cover of the book Creating Autonomous Vehicle Systems by Samuel P. Midkiff
Cover of the book Numerical Solutions of Boundary Value Problems with Finite Difference Method by Samuel P. Midkiff
Cover of the book A Pedagogical Introduction to Electroweak Baryogenesis by Samuel P. Midkiff
Cover of the book Quantum Computing for Computer Architects by Samuel P. Midkiff
Cover of the book Of Clocks and Time by Samuel P. Midkiff
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy