I've been looking into this CUDA versus FPGA thing more, and it seems to be an ongoing debate even within the high-performance computing industry. But then I found this little tidbit....
http://cadlab.cs.ucla.edu/~cong/papers/FCUDA_extAbstract_ICS09_final3.pdfThese guys figured out a way to automagicly map a FPGA with GPU-like 'stream' processors suited for the type of excecutions that a particular CUDA program uses. Which not only allows a program written in CUDA to be used on a GPU to run on a FPGA without modifications, but also saves space on the FGPA by not implimenting functions not required for the CUDA program in question. Potentially permitting more "streams" than would otherwise be possible.
I wonder how long it will be until some major GPU manufactuer such as Nvidia puts a FPGA
on a graphics card?
Currently, however, a CUDA capable graphics card in a modern gamer system would be the best cost/performance value; if only because one still needs a graphics card anyway.
Going out of your way to buy a dedicated graphics card, in addition to the one required for a modern system, such as a 'Nvidia Tesla' card, is probably not a cost/performance advantage over a FPGA card bought for the same purpose and encoded with CUDA capable stream processors.
YMMV