我是一名开发图像和视频算法的C++程序员,我是否应该学习Nvidia CUDA?或者它只是那些即将消失的技术之一?
我是一名开发图像和视频算法的C++程序员,我是否应该学习Nvidia CUDA?或者它只是那些即将消失的技术之一?
CUDA应该还会持续一段时间,但如果你刚开始学习,我建议看看OpenCL或DirectCompute。这两个都可以在ATI和NVidia硬件上运行,并且也可以在CPU的向量单元(SSE)上工作。
OpenCL可能需要一些时间才能变得普及,但我发现学习CUDA非常有启发性,而且我认为CUDA不会很快退出舞台。此外,CUDA足够容易学习,学习所需的时间比CUDA的使用寿命短得多。
这是高性能计算、并行计算的时代。CUDA和OpenCL是GPU计算的新兴技术,实际上是高性能计算!如果您是一个热情的程序员,并且愿意在并行算法方面取得基准成果,那么您真的应该选择这些技术。您程序的数据并行部分将在GPU多核架构上执行,只需要几分之一秒的时间,而在CPU上通常需要更长的时间。