
|
|
|
|
| PARTⅠ CONCEPTS 1
1 Parallel Computers and Computation 3 1.1 Parallelism and Computing 3 1.2 A Parallel Machine Model 9 1.3 A Parallel Programming Model 12 1.4 Parallel Algorithm Examples 18 1.5 Summary 23 Exercises 23 Chapter Notes 24 2 Designing Parallel Algorithms 27 2.1 Methodical Design 27 2.2 Partitioning 28 2.3 Communication 32 2.4 Agglomeration 42 2.5 Mapping 50 2.6 Case Study: Atmosphere Model 57 2.7 Case Study: Floorplan Optimization 64 2.8 Case Study: Computational Chemistry 71 2.9 Summary 77 Exercises 78 Chapter Notes 80 3 A Quantitative Basis for Design 83 3.1 Defining Performance 83 3.2 Approaches to Performance Modeling 84 3.3 Developing Models 88 3.4 Scalability Analysis 95 3.5 Experimental Studies 100 3.6 Evaluating Implementations 106 3.7 A Refined Communication Cost Model 111 3.8 Input/Output 121 3.9 Case Study: Shortest-Path Algorithms 123 3.10 Summary 130 Exercises 130 Chapter Notes 133 4 Putting Components Together 137 4.1 Modular Design Review 137 4.2 Modularity and Parallel Computing 139 4.3 Performance Analysis 146 4.4 Case Study: Convolution 147 4.5 Case Study: Tuple Space 152 4.6 Case Study: Matrix Multiplication 155 4.7 Summary 159 Exercises 161 Chapter Notes 162 PARTⅡ TOOLS 165 5 Compositional C++ 167 5.1 C++ Review 167 5.2 CC++ Introduction 171 5.3 Concurrency 172 5.4 Locality 174 5.5 Communication 176 5.6 Asynchronous Communication 186 5.7 Determinism 187 5.8 Mapping 187 5.9 Modularity 193 5.10 Performance Issues 196 5.11 Case Study: Channel Library 200 5.12 Case Study: Fock Matrix Construction 201 5.13 Summary 202 Exercises 203 Chapter Notes 204 6 Fortran M 207 6.1 FM Introduction 207 6.2 Concurrency 210 6.3 Communication 212 6.4 Unstructured Communication 216 6.5 Asynchronous Communication 222 6.6 Determinism 225 6.7 Argument Passing 226 6.8 Mapping 228 6.9 Modularity 232 6.10 Performance Issues 235 6.11 Case Study: Fock Matrix Construction 238 6.12 Summary 238 Exercises 239 Chapter Notes 242 7 High Performance Fortran 243 7.1 Data Parallelism 243 7.2 Fortran 90 246 7.3 Data Distribution 250 7.4 Concurrency 256 7.5 Dummy Arguments and Modularity 259 7.6 Other HPF Features 261 7.7 Performance Issues 264 7.8 Case Study: Gaussian Elimination 268 7.9 Summary 271 Exercises 272 Chapter Notes 273 8 Message Passing Interface 275 8.1 The MPI Programming Model 275 8.2 MPI Basics 276 8.3 Global Operations 283 8.4 Asynchronous Communication 290 8.5 Modularity 293 8.6 Other MPI Features 300 8.7 Performance Issues 304 8.8 Case Study: Earth System Model 305 8.9 Summary 305 Exercises 310 Chapter Notes 311 9 Performance Tools 313 9.1 Performance Analysis 313 9.2 Data Collection 315 9.3 Data Transformation and Visualization 318 9.4 Tools 320 9.5 Summary 324 Exercises 325 Chapter Notes 325 PART Ⅲ RESOURCES 327 10 Random Numbers 329 10.1 Sequential Random Numbers 329 10.2 Parallel Random Numbers 330 10.3 Distributed Random Generators 331 10.4 Summary 334 Exercises 334 Chapter Notes 335 11 Hypercube Algorithms 337 11.1 The Hypercube Template 337 11.2 Vector Reduction 338 11.3 Matrix Transposition 340 11.4 Mergesort 341 11.5 Summary 346 Exercises 346 Chapter Notes 347 12 Further Reading 349 13 About the Online Version 351 13.1 Obtaining a Web Browser 352 13.2 Web Tours 352 References 353 Index 369 |
商品评论(0条)