Programming Massively Parallel Processors: A Hands-on Approach, 3rd Edition
- Length: 576 pages
- Edition: 3
- Language: English
- Publisher: Morgan Kaufmann
- Publication Date: 2016-12-21
- ISBN-10: 0128119861
- ISBN-13: 9780128119860
- Sales Rank: #303967 (See Top 100 Books)
Programming Massively Parallel Processors: A Hands-on Approach, Third Edition shows both student and professional alike the basic concepts of parallel programming and GPU architecture, exploring, in detail, various techniques for constructing parallel programs.
Case studies demonstrate the development process, detailing computational thinking and ending with effective and efficient parallel programs. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in-depth.
For this new edition, the authors have updated their coverage of CUDA, including coverage of newer libraries, such as CuDNN, moved content that has become less important to appendices, added two new chapters on parallel patterns, and updated case studies to reflect current industry practices.
- Teaches computational thinking and problem-solving techniques that facilitate high-performance parallel computing
- Utilizes CUDA version 7.5, NVIDIA’s software development tool created specifically for massively parallel environments
- Contains new and updated case studies
- Includes coverage of newer libraries, such as CuDNN for Deep Learning
Table of Contents
Chapter 1 Introduction
Chapter 2 Data Parallel Computing
Chapter 3 Scalable Parallel Execution
Chapter 4 Memory And Data Locality
Chapter 5 Performance Considerations
Chapter 6 Numerical Considerations
Chapter 7 Parallel Patterns: Convolution
Chapter 8 Parallel Patterns: Prefix Sum
Chapter 9 Parallel Patterns—Parallel Histogram Computation
Chapter 10 Parallel Patterns: Sparse Matrix Computation
Chapter 11 Parallel Patterns: Merge Sort
Chapter 12 Parallel Patterns: Graph Search
Chapter 13 Cuda Dynamic Parallelism
Chapter 14 Application Case Study—Non-Cartesian Magnetic Resonance Imaging
Chapter 15 Application Case Study—Molecular Visualization And Analysis
Chapter 16 Application Case Study—Machine Learning
Chapter 17 Parallel Programming And Computational Thinking
Chapter 18 Programming A Heterogeneous Computing Cluster
Chapter 19 Parallel Programming With Openacc
Chapter 20 More On Cuda And Graphics Processing Unit Computing
Chapter 21 Conclusion And Outlook
APPENDIX A An introduction to OpenCL
APPENDIX B THRUST: a productivity-oriented library for CUDA
APPENDIX C CUDA Fortran
APPENDIX D An introduction to C++ AMP