
What this book covers
Chapter 1, Hello OpenCL, starts with a brief introduction to OpenCL and provides hardware architecture details of the various OpenCL devices from different vendors.
Chapter 2, OpenCL Architecture, discusses the various OpenCL architecture models.
Chapter 3, OpenCL Buffer Objects, discusses the common functions used to create an OpenCL memory object.
Chapter 4, OpenCL Images, gives an overview of functions for creating different types of OpenCL images.
Chapter 5, OpenCL Program and Kernel Objects, concentrates on the sequential steps required to execute a kernel.
Chapter 6, Events and Synchronization, discusses coarse grained and fine-grained events and their synchronization mechanisms.
Chapter 7, OpenCL C Programming, discusses the specifications and restrictions for writing an OpenCL compliant C kernel code.
Chapter 8, Basic Optimization Techniques with Case Studies, discusses various optimization techniques using a simple example of matrix multiplication.
Chapter 9, Image Processing and OpenCL, discusses Image Processing case studies. OpenCL implementations of Image filters and JPEG image decoding are provided in this chapter.
Chapter 10, OpenCL-OpenGL Interoperation, discusses OpenCL and OpenGL interoperation, which in its simple form means sharing of data between OpenGL and OpenCL in a program that uses both.
Chapter 11, Case studies – Regressions, Sort, and KNN, discusses general algorithm-like sorting. Besides this, case studies from Statistics (Linear and Parabolic Regression) and Machine Learning (K Nearest Neighbourhood) are discussed with their OpenCL implementations.