+612 9045 4394
High Performance Computing and the Art of Parallel Programming : An Introduction for Geographers, Social Scientists and Engineers - Stan Openshaw

High Performance Computing and the Art of Parallel Programming

An Introduction for Geographers, Social Scientists and Engineers

Hardcover Published: 25th November 1999
ISBN: 9780415156929
Number Of Pages: 304

Share This Book:


RRP $931.99
or 4 easy payments of $161.34 with Learn more
Ships in 7 to 10 business days

This book provides a non-technical introduction to High Performance Computing applications together with advice about how beginners can start to write parallel programs. The authors show what HPC can offer geographers and social scientists and how it can be used in GIS. They provide examples of where it has already been used and suggestions for other areas of application in geography and the social sciences. Case studies drawn from geography explain the key principles and help to understand the logic and thought processes that lie behind the parallel programming.

List of figuresp. ix
List of tablesp. x
List of appendicesp. xii
Dedication and acknowledgementsp. xiii
High-performance computing: why bother with it?p. 1
An HPC point of viewp. 1
HPC stimulates new research and creates new research opportunitiesp. 2
Why parallel processing is importantp. 3
Parallel computing is the future of HPCp. 5
Aims and objectivesp. 7
Fostering a computational culturep. 8
Plan of the bookp. 10
High-performance computing applications in geography and GISp. 12
Introductionp. 12
Parallel programmingp. 15
Geocomputationp. 17
Raising HPC awarenessp. 19
HPC applications in geography and GISp. 26
Some examples of HPC applications in geographyp. 29
Parallel GIS applicationsp. 42
Overcoming access barriersp. 45
Parallel and high-performance computing: concepts, principles and theoryp. 47
What is parallel computing?p. 47
Why parallel processing is importantp. 52
Highly and massively parallel processingp. 57
Examples of thinking in parallelp. 62
Can parallel machines ever be used efficiently?p. 64
Building a wall in a parallel wayp. 69
A brief history of parallel computingp. 71
Conclusionsp. 73
Types of parallel-processing hardware and programming paradigmsp. 74
Automatic parallelisation softwarep. 74
Computer architecturesp. 76
The three principal types of HPC hardwarep. 82
Levels of parallelism and identifying themp. 88
Programming modelsp. 90
Examples of each type of parallelismp. 91
Conclusionsp. 92
Programming vector supercomputersp. 94
Introductionp. 94
The secrets of vector processingp. 95
Vectorising your codep. 99
Optimisation of performancep. 100
A case study in vector processing using the Mark 1 geographical analysis machine as an examplep. 104
Case study 2: origin-constrained spatial interaction modelp. 119
Conclusionsp. 122
Shared-loop and data parallel programmingp. 139
Introductionp. 139
Multi-tasking on shared-memory MIMD machinesp. 140
Parallelisation strategiesp. 147
Data parallel programmingp. 151
Conclusionsp. 155
Parallel programming using simple message passingp. 178
Introductionp. 178
Message passing?p. 180
Message-passing softwarep. 182
How to use MPI for SPMDp. 184
Example 1: probably the world's simplest MPI program that could be usefulp. 186
Example 2: sum M numbersp. 188
Example 3: a data parallel spatial interaction in MPIp. 196
Conclusionsp. 203
Parallelising the geographical analysis machine using MPIp. 211
A data parallel GAM using MPIp. 211
Where is the parallelism in the GAM?p. 213
Loop 4 message passingp. 215
Some alternative message-passing schemesp. 217
Doing even better by task farmingp. 219
A task-farming GAMp. 221
Improvements?p. 222
Loop 0 complicationsp. 224
Multiple task farmsp. 225
More advanced MPI routinesp. 225
Conclusionsp. 225
Optimising performance and debugging hintsp. 235
Introductionp. 235
First optimise your algorithm rather than fiddling with codep. 236
Now start to fiddlep. 238
Scaleable performancep. 238
Exploit Amdahl's lawp. 240
Some MPI optimisation secretsp. 241
Debugging parallel code is harder than serial codep. 243
Debugging message passingp. 244
Defensive codingp. 247
Shared-memory debuggingp. 248
Message-passing debuggingp. 248
Conclusionsp. 250
Putting it all togetherp. 251
Backgroundp. 251
Introduction to benchmarkingp. 251
The spatial interaction model as a benchmark codep. 253
The high-performance Fortran versionp. 256
The message-passing code using MPIp. 258
The bulk synchronous parallel modelp. 259
Measuring performance using MPI and serial codep. 259
A comparison of HPF and MPI codesp. 261
Conclusionsp. 265
Epilogue for geographers and social scientistsp. 268
The global challengep. 268
What has HPC got to do with any of this?p. 272
Revising the definition of geocomputationp. 272
A GIS-HPC research agendap. 274
HPC futures in geography, etc.p. 276
References and further readingp. 277
Indexp. 283
Table of Contents provided by Syndetics. All Rights Reserved.

ISBN: 9780415156929
ISBN-10: 0415156920
Audience: Tertiary; University or College
Format: Hardcover
Language: English
Number Of Pages: 304
Published: 25th November 1999
Country of Publication: GB
Dimensions (cm): 24.49 x 15.65  x 2.41
Weight (kg): 0.69
Edition Number: 1