This document provides an introduction to OpenCL, including:
- An overview of the OpenCL model and how work is distributed across CPUs and GPUs.
- A demonstration of an N-body simulation and how it can be parallelized with OpenCL.
- Details on OpenCL concepts like platforms, devices, memory model, and how applications are organized with host code and kernels.