Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Learn Nvidia CUDA

I am C++ programmer that develop image and video algorithims, should i learn Nvidia CUDA? or it is one of these technlogies that will disappear?

like image 327
Dark Shakry Avatar asked Feb 04 '10 17:02

Dark Shakry


2 Answers

CUDA is currently a single vendor technology from NVIDIA and therefore doesn't have the multi vendor support that OpenCL does.

However, it's more mature than OpenCL, has great documentation and the skills learnt using it will be easily transferred to other parrallel data processing toolkit.

As an example of this, read the Data Parallel Algorithms by Steele and Hillis and then look at the Nvidia tutorials - theres a clear link between the two yet the Steele/Hillis paper was written over 20 years before CUDA was introduced.

Finally, the FCUDA Projects is working to allow CUDA projects to target non nvidia hardware (FPGAs).

like image 116
Robert Christie Avatar answered Sep 28 '22 00:09

Robert Christie


CUDA should stick around for a while, but if you're just starting out, I'd recommend looking at OpenCL or DirectCompute. Both of these run on ATI as well as NVidia hardware, in addition to also working on the vector units (SSE) of CPUs.

like image 26
codekaizen Avatar answered Sep 28 '22 00:09

codekaizen