GPGPU consists in performing General-Purpose computation on Graphics Processing Units (GPU). Leveraging highly-parallel GPU hardware, this approach allows accelerating some applications by over an order of magnitude over a traditional CPU. Taking into account that many modern devices contain a GPU, GPGPU can be a useful tool in a toolbox of any software developer who cares about performance.
The talk provides an introduction to GPGPU. It explains the difference between underlying CPU and GPU hardware and how it led to the different program models. The talk shows what types of tasks are good for GPGPU and when a GPU can be slower than a traditional CPU.
The talk does not focus on any specific API (OpenCL, CUDA, etc.) and does not required prior knowledge of CPU or GPU hardware.