Suchen und Finden
Service
Languages, Compilers and Run-time Environments for Distributed Memory Machines
J. Saltz, P. Mehrotra
Verlag Elsevier Reference Monographs, 2014
ISBN 9781483295381 , 320 Seiten
Format PDF
Kopierschutz DRM
Front Cover
1
Languages, Compilers and Run-Time Environments for Distributed Memory Machines
4
Copyright Page
5
Table of Contents
8
PREFACE
6
Chapter 1. SUPERB: Experiences and Future Research
10
Abstract
10
1 Introduction
10
2 Program Splitting
12
3 Data Partitioning
12
4 Interprocedural Partitioning Analysis
13
5 Automatic Insertion of Masking and Communication
14
6 Optimization
15
7 System Structure
17
8 Current and Future Research
19
9 Conclusion
22
References
23
Chapter 2. Scientific Programming Languages for Distributed Memory Multiprocessors : Paradigms and Research Issues
26
Abstract
26
1. Introduction
26
2. An Emerging Paradigm for Distributed Parallel Languages
27
3. An Example of the Paradigm : The DINO Language
29
4. Research Issues Regarding Virtual Parallel Computers
33
5. Research Issues Regarding Distributed Data Structures
34
6. Research Issues Regarding Models of Parallel Computation
35
7. Additional Research Issues Regarding Communication Features
42
8. Research Issues Regarding Support for Complex Parallel Programs
43
9. References
43
Chapter 3. VIENNA FORTRAN - A FORTRAN LANGUAGE EXTENSION FOR DISTRIBUTED MEMORY MULTIPROCESSORS*
48
Abstract
48
1 Introduction
48
2 The Basic Features of Vienna Fortran
49
3 Examples
59
4 Related Work
67
5 Conclusions
69
Acknowledgments
69
References
69
Chapter 4. Compiler Parallelization of SIMPLE for a Distributed Memory Machine
72
Abstract
72
1 Introduction
72
2 What is SIMPLE?
74
3 Machine Model
75
4 Data Distribution
77
5 Code Generation
77
6 Results and Analysis
83
7 Summary
86
Acknowledgements
87
References
87
Chapter 5. Applications of the "Phase Abstractions" for Portable and Scalable Parallel Programming
88
Abstract
88
1 Introduction
88
2 Preliminaries
89
3 Jacobi Iteration Example
92
4 Specification of the Processes, Level X
92
5 Global Data Declaration
96
6 Phase Definitions, Y Level
97
7 Main Program Body, Æ Level
103
8 Commentary on the Program and Abstractions
105
9 Conclusions
109
10 Acknowledgments
109
References
110
Chapter 6. Nicke - C Extensions for Programming on Distributed-Memory Machines
112
Abstract
112
1 Introduction
112
2 Basic Constructs
115
3 Shared Variables
118
4 Impiementation
121
5 Conclusion
125
References
126
Chapter 7. A Static Performance Estimator in the Fortran D Programming System
128
Abstract
128
1. INTRODUCTION
128
2. DISTRIBUTED MEMORY PROGRAMMING MODEL
133
3. CHOOSING THE DATA DECOMPOSITION SCHEME
134
4. AN EXAMPLE
136
5. THE TRAINING SET METHOD OF PERFORMANCE ESTIMATION
138
6. THE PERFORMANCE ESTIMATION ALGORITHM
142
7. A PROTOTYPE IMPLEMENTATION
142
8. CONCLUSION AND FUTURE WORK
144
References
146
Chapter 8. Compiler Support for Machine-Independent Parallel Programming in Fortran D
148
Abstract
148
1 Introduction
148
2 Fortran D
152
3 Basic Compilation Strategy
156
4 Compilation of Whole Programs
164
5 Validation
173
6 Relationship to Other Research
174
7 Conclusions and Future Work
179
8 Acknowledgements
180
References
180
Chapter 9. PANDORE: A System to Manage Data Distribution
186
Abstract
186
1. INTRODUCTION
186
2. OVERVIEW OF THE PANDORE SYSTEM
187
3. THE PANDORE LANGUAGE
187
4. FURTHER WORK
192
References
193
Chapter 10. DISTRIBUTED MEMORY COMPILER METHODS FOR IRREGULAR PROBLEMS - DATA COPY REUSE AND RUNTIME PARTITIONING1
194
Abstract
194
1 Introduction
194
2 Overview
196
3 The PARTI Primitives
199
4 PARTI Compiler
213
5 Experimental Results
218
6 Conclusions
221
Acknowledgements
224
References
224
Chapter 11. Scheduling EPL Programs for Parallel Processing
230
1 Introduction
230
2 Basic Scheduling in EPL
232
3 Case Study: Horizontal Partitioning for the CM
234
4 Alignment Problem
236
5 Optimum Direction of Computation
240
6 Conclusion
244
References
245
Chapter 12. Parallelizing Programs for Distributed-Memory Machines using the Crystal System
246
Abstract
246
1 Introduction
246
2 Summary of Our Position
247
3 The Crystal Model and its Language and Metalanguage Features
248
4 The Crystal Compiler
252
5 Performance Results
254
6 Crystalizing FORTRAN
258
References
258
A Appendix
261
Chapter 13. Iteration Space Tiling for Distributed Memory Machines
264
Abstract
264
1 Introduction
264
2 Background
265
3 Issues in tiling of iteration spaces
267
4 Extreme vectors and deadlock free tiling
268
5 Computing the extreme vectors
269
6 Choosing deadlock-free tiles
270
7 Tile Space Graph (TSG)
273
8 Optimizing tile size
275
9 Discussion
277
References
277
Chapter 14. Systolic Loops
280
Abstract
280
1. SUMMARY
280
2. TARGET PROCESSOR ARCHITECTURE
281
3. EFFICIENT PARALLEL LOOPS
282
4. UNIFORM RECURRENCE EQUATIONS AND SYSTOLIC ARRAYS
285
5. SYSTOLIC ARRAYS, WAVEFRONTS AND LOOP SKEWING
287
6. SYSTOLIC LOOP PROCESSING
289
7. OTHER WORK
291
References
291
Chapter 15. An Optimizing C* Compiler for a Hypercube Multicomputer
294
Abstract
294
1 Introduction
294
2 The C* Programming Language
295
3 Design of the C* Compiler
298
4 The Optimizer
300
5 Supporting Program Analysis
302
6 Evaluating the Optimizer
303
7 Summary
306
References
306
Chapter 16. The Paragon Programming Paradigm and Distributed Memory Multicomputers
308
Abstract
308
1 Introduction
308
2 Programming in Paragon
310
3 Paragon Primitive Implementation
317
4 Conclusion
323
References
323