Chapter 17

Parallel programming and computational thinking


This chapter introduces the concept of computational thinking. It builds on the previous chapters to illustrate the central theme in computational thinking. It first reviews the main goals of parallel programming. It then discusses the thinking process of problem decomposition and algorithm selection. It then goes into the main concepts covered in the previous chapters and shows how they can be generalized into broader computational problem solving techniques.


Strong scaling; weak scaling; problem formulation; model; hardware limitations; program transformation; gather; scatter; data sharing; locality; binning; tiling; approximation

Get Programming Massively Parallel Processors, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.