Chapter 1. Introduction to Parallel Programming
This chapter provides a general introduction to parallel computing and places the subject in the context of OpenCL programming.
Keywords Grain of computation, introduction, multi-core, many-core, parallel programming models
Today's computing environments are becoming more multifaceted, exploiting the capabilities of a range of multi-core microprocessors, central processing units (CPUs), digital signal processors, reconfigurable hardware (FPGAs), and graphic processing units (GPUs). Presented with so much heterogeneity, the process of developing efficient software for such a wide array of architectures poses a number of challenges to the programming community.
Applications possess a number ...