Parallel and High Performance Computing
- 12h 30m
- Robert Robey, Yuliana Zamora
- Manning Publications
- 2021
Parallel and High Performance Computing offers techniques guaranteed to boost your code’s effectiveness.
Summary
Complex calculations, like training deep learning models or running large-scale simulations, can take an extremely long time. Efficient parallel programming can save hours—or even days—of computing time. Parallel and High Performance Computing shows you how to deliver faster run-times, greater scalability, and increased energy efficiency to your programs by mastering parallel techniques for multicore processor and GPU hardware.
About the technology
Write fast, powerful, energy efficient programs that scale to tackle huge volumes of data. Using parallel programming, your code spreads data processing tasks across multiple CPUs for radically better performance. With a little help, you can create software that maximizes both speed and efficiency.
About the book
Parallel and High Performance Computing offers techniques guaranteed to boost your code’s effectiveness. You’ll learn to evaluate hardware architectures and work with industry standard tools such as OpenMP and MPI. You’ll master the data structures and algorithms best suited for high performance computing and learn techniques that save energy on handheld devices. You’ll even run a massive tsunami simulation across a bank of GPUs.
What's inside
- Planning a new parallel project
- Understanding differences in CPU and GPU architecture
- Addressing underperforming kernels and loops
- Managing applications with batch scheduling
In this Book
-
Foreword
-
Yulie Zamora, University of Chicago, Illinois
-
About This Book
-
Why Parallel Computing?
-
Planning for Parallelization
-
Performance Limits and Profiling
-
Data Design and Performance Models
-
Parallel Algorithms and Patterns
-
Vectorization—FLOPs for Free
-
OpenMP That Performs
-
MPI—The Parallel Backbone
-
GPU Architectures and Concepts
-
GPU Programming Model
-
Directive-Based GPU Programming
-
GPU Languages—Getting down to Basics
-
GPU Profiling and Tools
-
Affinity—Truce with the Kernel
-
Batch Schedulers—Bringing Order to Chaos
-
File Operations for a Parallel World
-
Tools and Resources for Better Code