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 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.