Linked by Amjith Ramanujam on Wed 19th Nov 2008 22:07 UTC, submitted by caffeine deprived
Thread beginning with comment 337888
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
CUDA is a programming model, mostly based on super-threading, data streaming and data parallelism.
It is being ported to the CPU, and later (via Apple's OpenCL, which is mostly CUDA-based) to ATI's GPUs (although the ATI parts have poorer programmability).
Basically, once you map your algorithm to CUDA, you should be able to run it on either the CPU or GPU in the near future.
Alas, if you already have developed your code on OpenMP and it works for you.. as they say, if it ain't broken...
However, where the CUDA boards shine is on their price per flop and power per flop. So they are very, very, very attractive.






Member since:
2005-07-06
It's not as simple as a re-compile, no.
...
Specialized hardware generally requires specialized programming to fully exploit it. "
Which, in a round-about way, brings me to the point: while these cards look very nice and clearly have a roll to play in specialised applications such as real-time medical imaging, they are not a "drop in" replacement for a proper cluster. If you write your code to use one of these cards you will find yourself tied to nVidia in the future, with perhaps no opportunity to run your code on a faster machine in the future should the need arise.
If you write your code using say, MPI on Fortran, you can pretty much expect your code to run five or ten years from now, even if it's running on a totally different cluster.