I\'d like to hear from people with experience of coding for both. Myself, I only have experience with NVIDIA.
NVIDIA CUDA seems to be a lot more popular than the competi
in my experience:
if you want best absolute performance then you need to see who is on the latest hardware iteration, and use their stack (including latest / beta releases).
if you want the best performance for the money you will be aiming at gamer cards rather than "professional" cards and the flexibility of targetting different platforms favors opencl.
if you are starting out, in particular, cuda tends to be more polished and have more tools and libraries.
finally, my personal take, after appalling "support" from nvidia (we got a dead tesla and it wasn't changed for months, while a client was waiting): the flexibility to jump ship with opencl is worth the risk of slightly lower performance when nvidia are ahead in the release cycle.