可缩放并行系统的编译程序优化:语言、编译技术及运行时间系统 Compiler optimizations

分類: 图书,进口原版书,计算机 Computers & Internet ,
作者: Santosh Pande 著
出 版 社: Oversea Publishing House
出版时间: 2001-6-1字数:版次: 1页数: 778印刷时间: 2001/06/01开本: 大16开印次: 1纸张: 胶版纸I S B N : 9783540419457包装: 平装内容简介
Scalable parallel systems or, more generally, distributed memory systems offer a challenging model of computing and pose fascinating problems regarding compiler optimization, ranging from language design to run time systems. Research in this area is foundational to many challenges from memory hierarchy optimizations to communication optimization.
This unique, handbook-like monograph assesses the state of the art in the area in a systematic and comprehensive way. The 21 coherent chapters by leading researchers provide complete and competent coverage of all relevant aspects of compiler optimization for scalable parallel systems. The book is divided into five parts on languages, analysis, communication optimizations, code generation, and run time systems. This book will serve as a landmark source for education, information, and reference to students, practitioners, professionals, and researchers interested in updating their knowledge about or active in parallel computing.
目录
Preface
Santosh Pande and Dharma P.Agrawal
Introduction
Santosh Pande and Dharma P.Agrawal
1Compiling for Distributed Memory Multiprocessors
1.1 Motivation
1.2 Complexity
1.3 Outline of the Monograph
1.4 Future Directions
Section I : Languages
Chapter 1.High Performance Fortran 2.0
Ken Kennedy and Charles Koelbel
1Introduction
2History and Overview of HPF
3Data Mapping
3.1 Basic Language Features
3.2 Advanced Topics
4Data Parallelism
4.1 Basic Language Features
4.2 Advanced Topics
5Task Parallelism
5.1 EXTRINSIC Procedures
5.2 The TASK_I~GION Directive
6Input and Output
7Summary and Future Outlook
Chapter 2.The Sisal Project: Real World Functional Programming
Jean-Luc Gaudiot, Tom DeBoni, John Feo, Wim Bohm,
Walid Najjar, and Patrick Miller
1Introduction
2The Sisal Language: A Short Tutorial
3An Early Implementation: The Optimizing Sisal Compiler
3.1 Update in Place and Copy Elimination
3.2 Build in Place
3.3 Reference Counting Optimization
3.4 Vectorization
3.5 Loop Fusion, Double Buffering Pointer Swap, and Inversion ..
4Sisal90
4.1 The Foreign Language Interface
5A Prototype Distributed-Memory SISAL Compiler
5.1 Base Compiler
5.2 Rectangular Arrays
5.3 Block Messages
5.4 Multiple Alignment
5.5 Results
5.6 Further Work
6Architecture Support for Multithreaded Execution
6.1 Blocking and Non-blocking Models
6.2 Code Generation
6.3 Summary of Performance Results
7Conclusions and Future Research
Chapter 3.HPC++ and the HPC++Lib Toolkit
Dennis Gannon, Peter Beckman, Elizabeth Johnson, Todd Green,and Mike Levine
1Introduction
2The HPC++ Programming and Execution Model
2.1 Level 1 HPC++
2.2 The Parallel Standard Template Library
2.3 Parallel Iterators
2.4 Parallel Algorithms
2.5 Distributed Containers
3A Simple Example: The Spanning Tree of a Graph
4Multi-threaded Programming
4.1 Synchronization
4.2 Examples of Multi-threaded Computations
5Implementing the HPC++ parallel Loop Directives
……
Chapter 4.A Concurrency Abstraction Model for Avoiding Inheritance Anomaly in Object-Oriented Programs
Sectio II:Analysis
Chapter 5.Loop Parallelization Algorithms
Chapter 6.Array Dataflow Analysis
Chapter 7.Interprocedural Analysis Based on Guarded Array Regins
Chapter 8.Automatic Array Privatization
Section III:Communication Optimizations
Chapter 9.Optimal Tilling for Minimizing Communication in Distributed Shared-Memory Multiprocessors
Chapter 10.Communication-Free Partitioning of Nested Loops
Chapter 11.Solving Alignment Using Elementary Linear Algebra
Chapter 12.A Compilation Method for Communication-Efficient Partitioning of DOALL Loops
Chapter 13.Compiler Optimization of Dynamic Data Distribution for Distributed-Momory Multicomputers
Chapter 14.A Framework for Global Communication Analysis and Optimizations
Chapter 15.Tolerating Communication Latency through Dynamic Thread Invocation in a Multithreaded Architecture
Section IV:Code Genertion
Chapter 16.Advanced Code Generation for High Performance Fortran
Chapter 17.Integer Lattice Based Methods for Local Address Generation for Block-Cyclic Disributions
Section V:Task Parallelism,Dynamic Data Structures and Run Time Systems
Chapter 18.A Duplication Based Compile Time Scheduling Method for Task Parallelism
Chapter 19.Spmd Execution in the Presence of Dynamic Data Structures
Chapter 20.Supporting Dynamic Data Structures with Olden
Chapter 21.Runtime and Compiler Support for Irregular Computations
Author Index