This document discusses x86 processor evolution, GPUs as accelerators, accelerated processing units (APUs), and OpenCL. It describes how x86 processors are gaining more cores and memory channels over time. It explains how GPUs can accelerate tasks like video transcoding using massively parallel processing. APUs integrate CPU and GPU cores on a single die to improve performance and efficiency. Finally, it introduces OpenCL as an open standard for programming heterogeneous systems like CPUs and GPUs.