Chapter 1: An Introduction to OpenCL
Although this chapter at times seems like an extended sales pitch for parallel computation and OpenCL more specifically, it does a good job of mixing high-level concepts with low-level specifics. The highlight in this chapter is the introduction to the parallel programming paradigm, i.e. context-host-kernel as well as work-items/work-groups. As my prior experience has been in sequential (non-parallel) application and database development, these concepts (together) are somewhat unfamiliar and require attention. Initially they can be counter-intuitive, but once the main concepts of context and kernel are grasped, the model begins to take shape and is very straight-forward. I could publish my own primer but that would seem fruitless when there are plenty out there right now.