This document discusses GPU programming with GPUImage and Metal frameworks. It provides an overview of GPUs and how they are suited for parallel processing compared to CPUs. It also summarizes the history and evolution of OpenGL and OpenGL ES graphics APIs. Key frameworks for graphics programming on iOS like Core Animation, GLKit and SpriteKit are hardware accelerated. The document demonstrates GPUImage for image processing and introduces Metal as a new low-level graphics framework from Apple promising improved performance. While Metal requires deeper hardware understanding, it could be a potential game changer for parallel programming.