i got both working CUDA and OpenCL it's realy fun
12 parallel units with 96 cores x 1000 threads per core unbelievable but true.
(first tests are photon mapping with FreeBASIC win and lin)
the most CUDA things will work as OpenCL too.
OpenCL is my first choice is will run on win, lin, mac
and it supports NVIDIA and ATI/AMD devices.
if you have a NVIDIA card and use the AMD/ATI OpenCL too
you enumerate two OpenCL devices one is the real NVIDIA GPU
and the second the host CPU.
(the NVIDA OpenCL runtime hasn't support for GPU emulation on host CPU.)
happy number crunching