This document discusses using GPUs for general purpose computing. It begins by explaining that GPUs were traditionally used for graphics but can now be used to accelerate non-graphics applications through GPGPU. It then provides examples of problems that are well-suited to GPU parallelism and frameworks like OpenCL, CUDA, and C++ AMP that allow programming GPUs. It also demonstrates simple GPGPU applications like edge detection and password cracking that can be accelerated on a GPU.