Scientific Programming and Computer Architecture
by Viswanath
ISBN: 9780262364331 | Copyright 2017
Instructor Requests
Expand/Collapse All | |
---|---|
Contents (pg. vii) | |
Preface (pg. xiii) | |
Chapter 1: C/C++: Review (pg. 1) | |
1.1 An example: The Aitken transformation (pg. 3) | |
1.2 C review (pg. 9) | |
1.3 C++ review (pg. 27) | |
1.4 A little Fortran (pg. 52) | |
1.5 References (pg. 55) | |
Chapter 2: C/C++: Libraries and Makefiles (pg. 57) | |
2.1 Mixed-language programming (pg. 59) | |
2.2 Using BLAS and LAPACK libraries (pg. 69) | |
2.3 Building programs using GNU Make (pg. 81) | |
2.4 The Fast Fourier Transform (pg. 113) | |
2.5 References (pg. 130) | |
Chapter 3: The Processor (pg. 133) | |
3.1 Overview of the x86 architecture (pg. 139) | |
3.2 Compiler optimizations (pg. 156) | |
3.3 Optimizing for the instruction pipeline (pg. 186) | |
3.4 References (pg. 219) | |
Chapter 4: Memory (pg. 221) | |
4.1 DRAM and cache memory (pg. 224) | |
4.2 Optimizing memory access (pg. 246) | |
4.3 Reading from and writing to disk (pg. 266) | |
4.4 Page tables and virtual memory (pg. 274) | |
4.5 References (pg. 284) | |
Chapter 5: Threads and Shared Memory (pg. 287) | |
5.1 Introduction to OpenMP (pg. 290) | |
5.2 Optimizing OpenMP programs (pg. 304) | |
5.3 Introduction to Pthreads (pg. 316) | |
5.4 Program memory (pg. 348) | |
5.5 References (pg. 367) | |
Chapter 6: Special Topic: Networks and Message Passing (pg. 369) | |
6.1 MPI: Getting started (pg. 371) | |
6.2 High-performance network architecture (pg. 380) | |
6.3 MPI examples (pg. 399) | |
6.4 The Internet (pg. 472) | |
6.5 References (pg. 495) | |
Chapter 7: Special Topic: The Xeon Phi Coprocessor (pg. 497) | |
7.1 Xeon Phi architecture (pg. 501) | |
7.2 Offload (pg. 508) | |
7.3 Two examples: FFT and matrix multiplication (pg. 524) | |
Chapter 8: Special Topic: Graphics Coprocessor Programming Using CUDA (pg. 535) | |
8.1 Graphics coprocessor architecture (pg. 538) | |
8.2 Introduction to CUDA (pg. 551) | |
8.3 Two examples (pg. 566) | |
8.4 References (pg. 576) | |
Appendix A: Machines Used, Plotting, Python, GIT, Cscope, and gcc (pg. 577) | |
A.1 Machines used (pg. 578) | |
A.2 Plotting in C/C++ and other preliminaries (pg. 578) | |
A.3 C/C++ versus Python versus MATLAB (pg. 582) | |
A.4 GIT (pg. 584) | |
A.5 Cscope (pg. 585) | |
A.6 Compiling with gcc/g++ (pg. 586) | |
Index (pg. 587) |
Divakar Viswanath
Divakar Viswanath is Professor of Mathematics at the University of Michigan.
eTextbook
Go paperless today! Available online anytime, nothing to download or install.
Features
|