contents
about the authors
preface
introduction
1 high-performance computing
1.1 trends in computer design
1.2 traditional computers and their limitations
1.3 parallelism within a single processor
1.3.1 multiple functional units
1.3.2 pipelining
1.3.3 overlapping
1.3.4 risc
1.3.5 vliw
1.3.6 vector instructions
1.3.7 chaining
1.3.8 memory-to-memory and register-to-register organizations
1.3.9 register set
1.3.10 stripmining
1.3.11 reconfigurable vector registers
1.3.12 memory organization
1.4 data organization
1.4.1 main memory
1.4.2 cache
1.4.3 local memory
1.5 memory management
1.6 parallelism through multiple pipes or multiple processors
1.7 message passing
1.8 virtual shared memory
1.8.1 routing
1.9 interconnection topology
1.9.1 crossbar switch
1.9.2 timeshared bus
1.9.3 ring connection
1.9.4 mesh connection
1.9.5 hypercube
1.9.6 multi-staged network
1.10 programming techniques
1.11 trends: network-based computing
2 overview of current high-performance computers
2.1 supercomputers
2.2 risc-based processors
2.3 parallel processors
3 implementation details and overhead
4 performance: analysis, modeling, and measurements
5 building blocks in linear algebra
6 direct solution of sparse linear systems
7 krylov subspaces: projection
8 iterative methods for linear systems
9 preconditioning and parallel preconditioning
10 linear eigenvalue problems ax=д╦до
11 the generalized eigenproblem
bibliography
index
