Für diesen Artikel ist leider kein Bild verfügbar.

High-Performance Compilers for Parallel Computing

(Autor)

Buch | Softcover
592 Seiten
1995
Pearson Education (US) (Verlag)
978-0-8053-2730-4 (ISBN)
119,75 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
This work covers everything necessary to build a competitive, advanced compiler for parallel or high-performance computers. Methods focus on analysis and synthesis, where analysis extracts information from the source program.
By the author of the classic 1989 monograph, Optimizing Supercompilers for Supercomputers, this book covers the knowledge and skills necessary to build a competitive, advanced compiler for parallel or high-performance computers. Starting with a review of basic terms and algorithms used-such as graphs, trees, and matrix algebra-Wolfe shares the lessons of his 20 years experience developing compiler products such as KAP, the capstone product of Kuck and Associates, Inc., of Champaign, Illinois.

As co-founder in 1979 of Kuck and Associates, Inc., Michael Wolfe helped develop KAP restructuring, parallelizing compiler software. In 1988, Wolfe joined the Oregon Graduate Institute of Science and Technology faculty, directing research on language and compiler issues for high performance computer systems. His current research includes development and implementation of program restructuring transformations to optimize programs for execution on parallel computers, refinement and application of recent results in analysis techniques to low level compiler optimizations, and analysis of data dependence decision algorithms. 0805327304AB04062001

1. High Performance Systems.


An Example Program: Matrix Multiplication.



Structure of a Compiler.



2. Programming Language Features.


Languages for High Performance.



Sequential and Parallel Loops.



Roundoff Error.



3. Basic Graph Concepts.


Sets, Tuples, Logic.



Graphs.



Control Dependence.



4. Review of Linear Algebra.


Real Vectors and Matrices.



Integer Matrices and Lattices.



Linear System of Equations.



System of Integer Equations.



Systems of Linear Inequalities.



Systems of Integer Linear Inequalities.



Extreme Values of Affine Functions.



5. Data Dependence.


Data Dependence in Loops.



Data Dependence in Conditionals.



Data Dependence in Parallel Loops.



Program Dependence Graph.



6. Scalar Analysis with Factored Use-Def Chains.


Constructing Factored Use-Def Chains.



FUD Chains for Arrays.



Finding All Reaching Definitions.



Implicit References in FUD Chains.



InductionVariables Using FUD Chains.



Constant Propagation with FUD Chains.



Data Dependence for Scalars.



7. Data Dependence Analysis for Arrays.


Building the Dependence System.



Dependence System Solvers.



General Solver.



Summary of Solvers.



Complications.



Run-time Dependence Testing.



8. Other Dependence Problems.


Array Region Analysis.



Pointer Analysis.



I/O Dependence.



Procedure Calls.



Interprocedural Analysis.



9. Loop Restructuring.


Simpile Transformations.



Loop Fusion.



Loop Fission.



Loop Reversal.



Loop Interchanging.



Loop Skewing.



Linear Loop Transformations.



Strip-Mining.



Loop Tiling.



Other Loop Transformations.



Interprocedural Transformations.



10. Optimizing for Locality.


Single Reference to Each Array.



Multiple References.



General Tiling.



Fission and Fusion for Locality.



11. Concurrency Analysis.


Code for Concurrent Loops.



Concurrency from Sequential Loops.



Concurrency from Parallel Loops.



Nested Loops.



Roundoff Error.



Exceptions and Debuggers.



12. Vector Analysis.


Vector Code.



Vector Code from Sequential Loops.



Vector Code from Forall Loops.



Nested Loops.



Roundoff Error, Exceptions, and Debuggers.



Multivector Computers.



13. Message-Passing Machines.


SIMD Machines.



MIMD Machines.



Data Layout.



Parallel Code for Array Assignment.



Remote Data Access.



Automatic Data Layout.



Multiple Array Assignments.



Other Topics.



14. Scalable Shared-Memory Machines.


Global Cache Coherence.



Local Cache Coherence.



Latency Tolerant Machines.



Glossary.


References.


Author Index.


Index. 0805327304T04062001

Erscheint lt. Verlag 6.7.1995
Verlagsort Upper Saddle River
Sprache englisch
Maße 243 x 195 mm
Gewicht 962 g
Themenwelt Informatik Theorie / Studium Compilerbau
ISBN-10 0-8053-2730-4 / 0805327304
ISBN-13 978-0-8053-2730-4 / 9780805327304
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und Anwendungen

von Hanspeter Mössenböck

Buch | Softcover (2024)
dpunkt (Verlag)
29,90
a beginner's guide to learning llvm compiler tools and core …

von Kai Nacke

Buch | Softcover (2024)
Packt Publishing Limited (Verlag)
49,85