Originally posted by interested_observer: The reason you want OpenCL compatible is that the post processing program (i.e., Adobe), writes some additional software that it down loads into your graphics card (this is the OpenCL part), that will use all of those "stream processors" to speed up the modifications you are making to all of those mega pixels in your images. The reason for OpenCL compatibility is so that Adobe can write the graphics utilities once and will run on both Nvidia and ATI cards. These $50 to $5000 graphics cards are essentially the old Cray supercomputers of years gone by. Like everyone has said, a low end OpenCL graphics card is more than good enough. You can go blind finding the "best", which really is not required. Find one that fits the budget and it will be more than adequate.
Nvidia, amd, and intel all provide opencl contexts [i know this because I'm a graphics programmer by trade, and have been working with opencl quite a lot!]
Nvidia and intel support opencl 1.1. Amd support 1.2 (and have some support for opencl 2.0 in their beta drivers - they also support cl2 on intel CPUs).
Opencl contexts can be shared across CPU and gpu (unless you get an nvidia graphics card - which will actually prevent you from initialising the CPU in a CL context).
In theory opencl is just a simple way of targeting hardware without dropping down to avx/sse CPU instructions (although in practice, you end up writing multiple cl code paths for numerous devices depending on their capabilities - eg optimal vector widths differ between manufacturers and gpu models, not to mention differing CL versions).
Calling a GPU a modern day cray is a bit of an insult to ICL really. Cray never developed anything as parallel as the matrix DAP processor from ICL!
Whether or not you want the fastest or cheapest gpu, will depend on whether you want to partition the device or not. Cheap gpus tend to come with 2 compute units (with say 128 stream cores each), which means you can run 2 seperate jobs in parallel. Better gpus will come with many more.
Realistically though, one of the biggest bottlenecks these days is memory bandwidth (which is true for CPU and gpu). The faster the memory (on both), the better. (so get the fastest ram you can afford)
The AMD A10's aren't bad at all. A10 6700T if you want something energy efficient. A10 7850k for the best performance. If you intend to use a pci-e gpu in addition, you'd be better off with intel.
Mind you, if you are a Lightroom user, talk about opencl is entirely moot - LR does not use the gpu at all. The latest versions of photoshop use CL, and games, but not much else.