Chapter 2

Theoretical Background

Abstract

Our approach to teaching and learning of parallel programming in this book is based on practical examples. Nevertheless, it is important to initially study a number of important theoretical concepts in this chapter before starting with actual programming. We begin with the PRAM model, an abstract shared memory machine model. It can be viewed as an idealized model of computation and is frequently used to design parallel algorithms. These theoretical designs often have an influence on actual parallel implementations (e.g. efficient PRAM algorithms are often the most efficient algorithms at CUDA thread block level). We analyze a few popular PRAM algorithms in terms of their cost and study the design ...

Get Parallel Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.