November 2016
Intermediate to advanced
576 pages
18h 22m
English
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