Introduction to High Performance Scientific ComputingThis is a textbook that teaches the bridging topics between numerical analysis, parallel computing, code performance, large scale applications. |
Contents
Singleprocessor Computing | 12 |
Parallel Computing | 64 |
Computer Arithmetic | 152 |
Numerical treatment of differential equations | 172 |
Numerical linear algebra | 191 |
High performance linear algebra | 235 |
Molecular dynamics | 290 |
Sorting | 308 |
Graph theory | 350 |
Unix intro | 367 |
Compilers and libraries | 388 |
Source code control | 406 |
Scientific Data Storage | 420 |
Plotting with GNUplot | 447 |
477 | |
Class projects | 492 |
Nbody problems | 324 |
Linear algebra | 337 |
Bibliography index and list of acronyms | 510 |
Common terms and phrases
adjacency matrix algorithm architecture arithmetic array bandwidth block cache line cacheline called columns command communication compiler consider cores data item data parallelism decomposition define diagonal discussion distributed memory domain efficiency eigenvalues elements equation error example execution Exercise Expected outcome Figure firstfile Fortran function give GPUs graph HDF5 ierr implementation input instance instructions integer iterative methods L1 cache latency linear algebra linear system load loop LU factorization machine makefile malloc MapReduce matrix-vector product multiple nodes nonzero number of processors OpenMP operations output parallel computer particles performance PETSc pipeline pivot preconditioner problem Quicksort repository result retval reuse scheme sequential shared memory SIMD simple solution solving sparse matrix speedup step storage stored thread triangular typically Unix update valgrind variable vector write zero