This document introduces OpenCL, a framework for parallel programming across heterogeneous systems. OpenCL allows developers to write programs that access GPU and multi-core processors. It provides portability so the same code can run on different processor architectures. The document outlines OpenCL programming basics like kernels, memory objects, and host code that manages kernels. It also provides a simple "Hello World" example of vector addition in OpenCL and recommends additional resources for learning OpenCL.