What about GPUs?
CPUs seem to have reached their speed and thermal power limits. It has become complex and expensive to build a computer with several processors. Here is where GPUs come into play. General-Purpose Computing on Graphics Processing Units (GPGPU) is a new programming paradigm that uses the GPU to perform computations and enables the faster execution of programs and a reduction of power consumption. They include hundreds of general-purpose computing processors that can do much more than render graphics, especially if they are used in tasks that can be parallelized, which is the case with computer vision algorithms.
OpenCV includes support for the OpenCL and CUDA architectures, with the latter having more implemented algorithms and a better optimization. This is the reason why we are introducing the CUDA GPU module in this chapter.