**This is an old revision of the document!**

OpenCL is an open framework that enables a computer to recruit all manner of other computational devices (such as a GPU and additional CPUs) to distribute a workload. Depending on the hardware you have available, OpenCL can speed up graphics processing by orders of magnitude.

TL;DR
OpenCL is still a developing technology. If you are building a high performance render farm, it is worth learning and implementing. If you are a regular user doing heavy graphic work, enable OpenCL if it's available to you for some potential benefits, but don't break the bank to to make it happen.

Strengths [Weaknesses]

Parallelism

Your computer potentially has a lot more computing power at its disposal than what you are using. Unlock it with OpenCL.

Weaknesses [Strengths]

Specialised

OpenCL is becoming more common, but for now it is still fairly specialised. Not all applications (or the OS itself, for that matter) utilise OpenCL, and even if they do, OpenCL depends heavily upon the hardware it has available. If your system is not top-of-the-line, you may not see much of a improvement.

Pre-Requisites

Before attempting to get OpenCL up and running, get the specs of your system with cpuinfo and lspci:

$ lspci | grep VGA
[...] NVIDIA [Quadro 5000] (rev c2)

Refer to product documentation to determine whether your GPU is OpenCL capable.

$ egrep sse[3456] /proc/cpuinfo
flags : fpu vme [...] sse3 [...] sse4_1 [...]

If your terminal returns anything, then it is OpenCL capable.